PaperFlux druckt die GitHub-News auf Kassenzettel
Mit PaperFlux hat Maker Alban Petit ein Gerät gebaut, das einmal pro Woche die eigene GitHub-Aktivität auf einem Thermodrucker ausgibt. Statt Dashboard, App oder Push-Nachricht gibt es einen langen Kassenzettel mit Commits, Sternen, Followern, verwendeten Programmiersprachen und den erfolgreichsten Repositorys. Technisch steckt dahinter ein ESP32-Mikrocontroller mit angeschlossenem Drucker.
Das Gerät basiert auf einem ESP32-C3-MINI-1 und einem 58-mm-Thermodrucker mit 384 Punkten Druckbreite. Der ESP sitzt auf einer eigens entwickelten Platine mit USB-C für die Stromzufuhr und UART-Anschlüssen für den Drucker. Ein AP33772S-Controller übernimmt die USB-C-Power-Delivery-Aushandlung. Normalerweise fordert das Board 9 Volt bei bis zu 2 Ampere vom Netzteil an, kann aber auf 5 V zurückfallen. Ein AP63203-Wandler erzeugt daraus die 3,3 V für den ESP32-C3. Die höhere Spannung ist für den Thermodrucker wichtig. Beim Aufheizen einer kompletten Druckzeile fließt viel Strom.
Die eigentliche Aufbereitung der GitHub-Daten findet nicht auf dem ESP32 statt. PaperFlux verbindet sich über WLAN mit einem Webdienst, der Daten über die REST- und GraphQL-Schnittstellen von GitHub einsammelt.
Aufgabenteilung
Aus diesen Daten erzeugt ein Ruby/Sinatra-Dienst zunächst eine HTML-Seite. Ein Headless-Chromium rendert daraus anschließend eine 384 Pixel breite Ansicht, die ImageMagick in eine 1-Bit-PNG-Datei umwandelt. Ein typischer Ausdruck benötigt nach Angaben des Entwicklers nur rund 8 KByte Bilddaten. Damit bleibt die Arbeitsteilung klar: Der Server kümmert sich um Layout und Statistik, der Mikrocontroller lädt nur das fertige Bild herunter und druckt es.
Interessant für Maker ist dabei besonders der Umgang mit dem begrenzten RAM des ESP32-C3. Das PNG wird nicht komplett entpackt. Die Firmware verarbeitet die Bilddaten stattdessen schrittweise und hält jeweils nur Streifen mit 32 Zeilen im Speicher. Anschließend gehen die Daten per UART an den Thermodrucker. Ein Ausdruck mit 2014 Zeilen benötigt rund 2 Minuten und 40 Sekunden.
Bei Netzwerkproblemen oder Druckfehlern verlängert die Firmware außerdem schrittweise die Wartezeit bis zum nächsten Versuch. Nach dem Drucken kontrolliert sie nochmals Versorgungsspannung und Schutzschaltungen des USB-PD-Controllers. Ein abgebrochener Ausdruck gilt damit nicht versehentlich als erfolgreich.
Als Maker kann man damit überwachen, was das liebste Open-Source-Projekt macht oder wie das Teamprojekt vorankommt. Der Quellcode steht unter MIT-Lizenz zur Verfügung. Auf der Projektseite findet man den Link zu dem entsprechenden Repository.
Wer statt Papier lieber T-Shirts bedrucken möchte, findet in unserem xTool-Test eventuell das Richtige.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externer Preisvergleich (heise Preisvergleich) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (heise Preisvergleich) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.