7 Punkte von GN⁺ 2026-02-26 | 2 Kommentare | Auf WhatsApp teilen
  • Ein älterer Kindle Touch der 4. Generation wurde modifiziert und in ein E-Ink-Dashboard verwandelt, das die Ankunftszeiten von NJ-Transit-Bussen jede Minute aktualisiert
  • Über Jailbreak, KUAL, MRPI und die SSH-Konfiguration wurde eine Umgebung zum Ausführen benutzerdefinierter Apps aufgebaut; ein Node-basierter Server erzeugt Bilder und zeigt sie auf dem Kindle an
  • Der Server holt Busdaten per GraphQL API, formatiert sie als HTML und erzeugt anschließend mit wkhtmltoimage PNG-Dateien, die der Kindle regelmäßig abruft
  • Es wurde eigens eine KUAL-App erstellt, damit sich das Dashboard über einen Menü-Button beenden lässt; mit bash trap und rtcwake werden Energieverwaltung und automatische Aktualisierung gesteuert
  • Die Akkulaufzeit beträgt etwa 5 Tage, und beim Screen-Ghosting gibt es noch Verbesserungspotenzial; zugleich zeigt das Projekt die Möglichkeiten von E-Ink-Displays für Echtzeitinformationen

Einen Kindle in ein Display für Bus-Ankunftsinformationen verwandeln

  • Ein Kindle Touch der 4. Generation wurde zu einer Anzeige für Bus-Ankunftsinformationen in Echtzeit umgebaut
    • Der Bildschirm wird jede Minute aktualisiert, und per Menü-Button lässt sich der Dashboard-Modus beenden
    • Eine Funktion ähnlich dem kommerziellen Produkt TRMNL wurde kostenlos umgesetzt

1. Kindle-Jailbreak

  • Die Firmware-Version des Kindle prüfen, die zum Gerät passende tar-Datei herunterladen und den Jailbreak-Vorgang durchführen
  • Nach erfolgreichem Abschluss mit der Installation von KUAL und MRPI fortfahren

2. KUAL und MRPI installieren

  • KUAL dient als Launcher für benutzerdefinierte Apps, MRPI als Installationswerkzeug für Apps
  • Vor der Installation muss unbedingt die Hotfix-Konfiguration durchgeführt werden
  • Nach der Installation OTA-Updates deaktivieren, um automatische Updates zu blockieren

3. SSH einrichten

  • Über die USBNetwork-Erweiterung ist ein SSH-Zugriff auf den Kindle möglich
  • Mithilfe eines externen Blog-Guides eine USB-basierte SSH-Verbindung einrichten
  • Bei erfolgreicher Verbindung erscheint der Kindle im Netzwerk-Tab des Computers als neues Gerät

4. Server aufsetzen und Bilder erzeugen

  • Über die NJ Transit GraphQL API werden Informationen zu Bus-Ankünften abgerufen
    • Mit der Query getBusArrivalsByStopID werden Daten wie Linien, Ankunftszeiten und Auslastung gesammelt
  • Statt puppeteer wird wkhtmltoimage verwendet, um HTML in PNG zu konvertieren
    • Der Server erzeugt alle 3 Minuten ein neues Bild, das der Kindle anschließend abruft
    • Der zugehörige Code ist im GitHub-Repository kindle-hax/server veröffentlicht
  • Bilddrehung und Ausrichtung werden an die Bildschirmauflösung des Kindle (z. B. 600x800) angepasst
    • Mit transform: rotate(90deg) translateX(-100px) translateY(-100px); wird eine vertikale Darstellung umgesetzt

5. Eine KUAL-App erstellen

  • Eine benutzerdefinierte KUAL-Erweiterung zur Steuerung von Start und Stopp des Dashboards erstellen
    • Nach dem Platzieren des Ordners unter /mnt/us/extensions/ erscheint in KUAL der Menüpunkt „Start dashboard“
  • Das Skript start.sh bleibt durch das Ignorieren von Signalen (trap '' HUP, trap '' TERM) stabil aktiv
    • Die Funktion refresh_screen() lädt das Server-Bild herunter und zeigt es anschließend mit dem Befehl eips an
    • Oben werden Datum, WLAN-Status und Akkustand angezeigt
  • Mit evtest wird bei Erkennung der Menü-Button-Eingabe (code 102 (Home), value 1) stop.sh ausgeführt
    • Dadurch wird das Dashboard beendet und die Kindle-Oberfläche neu gestartet

6. Ergebnis und Verbesserungsmöglichkeiten

  • Etwa 5 Tage Akkulaufzeit; bei nächtlichem Abschalten lässt sich dies um 2 Tage verlängern
  • Das Problem mit Screen-Ghosting (color bleeding) könnte durch vollständige Schwarz-Weiß-Refreshs verbessert werden
  • Das System wird täglich genutzt, und es hat sich gezeigt, dass sich die Anzeige auch auf Kalender, Wetter, Aufgaben und andere Informationen erweitern lässt

2 Kommentare

 
xguru 2026-02-26

Ich habe vor Kurzem etwas Ähnliches gemacht. Wenn es dich nicht stört, oben die URL-Leiste zu sehen, kannst du einfach eine Webseite laden.
Der Kindle kann standardmäßig im Webbrowser URLs aufrufen, also kannst du dort einfach das Dashboard laden.
Ich lade bei der Arbeit dieselbe Seite auf einem Kindle und zu Hause auf einem älteren Paperwhite-Modell, insofern ist das gewissermaßen Cross-Platform, haha.

Natürlich braucht auch der Kindle für einen Modus, in dem er dauerhaft eingeschaltet bleibt, Rooting oder einen ähnlichen Eingriff.
Beim Paperwhite ist Rooting nicht unbedingt nötig; es reicht, den ADB-Zugang zu öffnen und dort den Bildschirmschoner zu deaktivieren.

 
GN⁺ 2026-02-26
Hacker-News-Kommentare
  • Als jemand, der früher an Kindle-Stromverbrauch gearbeitet hat, war die größte Stromquelle die WiFi-Verbindung
    Das lag daran, dass WiFi dem AP regelmäßig antworten musste, damit die Verbindung nicht abbricht
    Soweit ich mich erinnere, waren es bei ausgeschaltetem WiFi etwa 700 uA und bei eingeschaltetem etwa 1,5 mA
    Beim Seitenwechsel stieg der Strom kurzzeitig auf mehrere hundert mA an, und um den Ghosting-Effekt zu verringern, wurde alle paar Seiten eine vollständige Bildschirmaktualisierung durchgeführt

    • Ich habe den Akku entfernt und den Kindle über eine Diode vom USB-Anschluss aus mit 5 V versorgt
      Dafür brauchte ich eine Stromversorgung, die kurzzeitig etwa 1,5 A liefern konnte; mit einem alten USB-Hub mit eigener Stromversorgung, der an einen Raspberry Pi angeschlossen war und per SSH gesteuert wurde, lief das monatelang stabil auch ohne WiFi
    • Mein RM2 verbindet sich überhaupt nicht mit WiFi und hält trotzdem monatelang ohne Laden durch
      Ich nutze es weniger als 30-mal im Monat, aber bei ausgeschaltetem WiFi ist die Akkueffizienz erstaunlich gut
      Meinen Paperwhite Kindle habe ich noch nicht modifiziert, aber zumindest die Werbung auf dem Sperrbildschirm werde ich entfernen
    • Ich will die Akkulaufzeit testen, indem ich WiFi ausgeschaltet lasse und das Aktualisierungsintervall auf 2 Minuten erhöhe
      Jetzt verstehe ich endlich genau, warum der Akku im Flugmodus so lange hält
    • Ich frage mich, ob sich mit amorphem Silizium-Solarzellen rund um den Kindle vermeiden ließe, ihn alle 5 Tage aufladen zu müssen
  • Ich habe einen einfacheren Ansatz verwendet
    Nach dem Jailbreak habe ich mich per SSH verbunden und zwei Skripte erstellt, die jede Minute bzw. alle 30 Minuten laufen
    Beide Skripte zeigen dasselbe Bild an, aber alle 30 Minuten kommt zusätzlich eine vollständige Aktualisierung dazu
    Vom Raspberry Pi wird das Bild per rsync übertragen, und ein Python-Skript holt die Luftqualitätsdaten aus MySQL und setzt das Bild zusammen
    Der Kindle dient nur dazu, das Bild anzuzeigen, und läuft deshalb sehr stabil

    • Ich musste schmunzeln, als bei einem „einfacheren Ansatz“ rsync, Python und MySQL erwähnt wurden
    • Wenn es ein eInk-Display gäbe, das einfach nur Bitmaps empfängt und anzeigt, würde das für viele Einsatzzwecke völlig reichen
      Es müsste nur sichere Verbindungen wie TLS unterstützen
    • Ich habe meinen Kindle ähnlich jailbreakt, um im Bus ePub zu lesen und Siri nach dem nächsten Bus zu fragen
    • Es ist wirklich befriedigend, das Problem mit zwei einfachen Skripten statt mit einem komplexen Framework zu lösen
  • Kindle-Hacking macht wirklich Spaß
    Auf eBay bekommt man alte Kindle für 15 bis 20 Euro, und ich hatte letztes Jahr viel Freude an einem ähnlichen Experiment
    Den genauen Ablauf habe ich in meinem Blogbeitrag dokumentiert

    • Auf AliExpress kann man ein ESP32-basiertes E-Ink-Board namens Xteink4 kaufen
      Es ist klein, aber mit der Crosspoint-Firmware lässt es sich als tragbarer E-Ink-Reader verwenden
      YouTube-Video, Crosspoint GitHub
    • Wenn dir Reverse Engineering zu aufwendig ist, gibt es auch E-Ink-Displays für den Raspberry-Pi-DSI-Port
      Sie sind etwas teurer, könnten aber ebenfalls recycelte Kindle-Displays sein
    • Es macht Spaß zu sehen, wie andere dasselbe Ziel auf ganz andere Weise erreichen
      Dieser Beitrag hat mich dazu gebracht, Plattformen wie Cloudflare Workers weiter auszuprobieren
    • Ich frage mich, ob man direkt mit dem Jailbreak loslegen kann oder ob bei der Ersteinrichtung zuerst ein Amazon-Konto verbunden werden muss
  • Ich habe einen alten Kindle in einen Bilderrahmen für KI-generierte Bilder verwandelt
    Alle paar Stunden wird ein neues Bild erzeugt, und der Prompt kann Wetter, Tiere, Länder und Schlagzeilen enthalten
    Die gesamte Verarbeitung läuft lokal auf meinem Heimserver mit ollama + stable-diffusion-webui
    Bilder auf Basis von Nachrichten wurden allerdings zu deprimierend, also habe ich der KI gesagt, sie solle sie in einen positiven Ton umwandeln
    An Regentagen regnet es auch im Bild, im Winter schneit es entsprechend
    Der Akku hält ebenfalls mehrere Wochen, und ich habe die Online Screensaver extension so angepasst, dass automatisch in den Flugmodus gewechselt wird

    • Es wäre auch spannend, mit Spracherkennung Gespräche in Bilder zu visualisieren
    • E-Ink ist als Medium irgendwie erstaunlich passend für generative Kunst
  • Meine Version eines Kindle-Dashboards ist auf GitHub veröffentlicht
    Sie zeigt lokale Wetterdaten und Musikinformationen vom Medienserver an
    Das Ghosting auf dem Display lässt sich durch regelmäßige vollständige Aktualisierungen mit dem Befehl eips -f beheben

    • Ich war beeindruckt, dass es in Rust geschrieben ist
      Das war das erste Mal, dass ich Rust wirklich lernen wollte
  • In Queensland in Australien gibt es solarbetriebene E-Paper-Anzeigetafeln an Bushaltestellen
    Sie sind viel größer als ein Kindle, aber das Prinzip ist ähnlich
    Projektvorstellung, Demovideo

  • Dieses Projekt erinnerte mich an das SystemSix-Projekt

    • Wirklich großartig. Jetzt habe ich Lust bekommen, selbst eine Custom-Halterung zu bauen
  • Im Moment scheint jeder solche Kindle-Modding-Projekte zu machen
    Ich habe auch einen K4NT modifiziert und einen Server gebaut, der den Familienkalender anzeigt
    Ich habe mir dabei etwas von KI helfen lassen, einen 3D-gedruckten Einsatz für einen Ikea-Rahmen eingebaut und einen MagSafe-Akku befestigt
    Ich muss nur alle 5 Tage den Power-Button drücken, und den internen Akku werde ich noch ersetzen
    Eine kabelgebundene Verbindung war in meiner Umgebung nicht möglich

  • Wenn man das Netzwerk zwischen den Aktualisierungen abschaltet, verlängert das die Akkulaufzeit deutlich
    Ich habe Updates zwischen 22 Uhr und 6 Uhr morgens blockiert
    Auf GitHub gibt es viele Skripte zum Akkusparen
    Früher habe ich auch schon mit Raspberry Pi Zero + 2-Zoll-E-Ink eine GTFS-basierte ÖPNV-Anzeige gebaut
    Beitrag zum Kindle-Dashboard, Transit-Pi-Projekt

    • Die Dashboard-Idee, die verbleibende Waschzeit zusammen mit Pokémon-Icons anzuzeigen, ist einfach zu niedlich
      Solche Visualisierungen für smarte Haushaltsgeräte sind wirklich reizvoll
  • Ich nutze den Kindle gern als Display für einen einzigen Zweck
    Tatsächlich bevorzuge ich den LCD-Kindle Fire gegenüber eInk
    Wenn man den Entwicklermodus aktiviert, kann man dauerhaft Webseiten anzeigen lassen und das Gerät ohne Werbung nutzen
    Einen Kindle Fire HD10 bekommt man schon für etwa 40 Dollar

    • Danke für den Hinweis zum Kindle Fire
      Ein LCD ohne Ghosting, das sich auch im Dunkeln lesen lässt, ist ein großartiges Upgrade für ein Dashboard