7 points par GN⁺ 2026-02-26 | 2 commentaires | Partager sur WhatsApp
  • Transformation d’un ancien Kindle Touch 4e génération en tableau de bord à encre électronique affichant les horaires d’arrivée des bus NJ Transit, mis à jour chaque minute
  • Mise en place d’un environnement d’exécution pour applications personnalisées via jailbreak, KUAL, MRPI et configuration SSH, puis affichage sur le Kindle d’images générées par un serveur basé sur Node
  • Le serveur récupère les données des bus via une API GraphQL, les met en forme en HTML, puis génère un PNG avec wkhtmltoimage, que le Kindle charge périodiquement
  • Création d’une application KUAL dédiée pour pouvoir quitter le tableau de bord via un bouton de menu, avec bash trap et rtcwake pour la gestion de l’alimentation et le contrôle du rafraîchissement automatique
  • Une autonomie d’environ 5 jours, avec une marge d’amélioration pour les rémanences à l’écran, montrant le potentiel des écrans à encre électronique pour l’affichage d’informations en temps réel

Transformer un Kindle en écran d’information pour les arrivées de bus

  • Modification d’un Kindle Touch 4e génération en panneau d’information en temps réel pour les arrivées de bus
    • L’écran se rafraîchit chaque minute, et il est possible de quitter le mode tableau de bord avec le bouton de menu
    • Une fonctionnalité comparable au produit commercial TRMNL, réalisée gratuitement

1. Jailbreak du Kindle

  • Vérification de la version du firmware du Kindle, téléchargement du fichier tar correspondant, puis exécution de la procédure de jailbreak
  • Une fois l’opération réussie, passage à l’installation de KUAL et MRPI

2. Installation de KUAL et MRPI

  • KUAL sert de lanceur d’applications personnalisées, et MRPI d’outil d’installation d’applications
  • Il faut impérativement effectuer la configuration du Hotfix avant l’installation
  • Après l’installation, désactivation des mises à jour OTA pour bloquer les mises à jour automatiques

3. Configuration de SSH

  • Accès SSH au Kindle possible via l’extension USBNetwork
  • Configuration d’une connexion SSH via USB en s’appuyant sur un guide de blog externe
  • Une fois la connexion établie, le Kindle apparaît comme un nouvel appareil dans l’onglet réseau de l’ordinateur

4. Mise en place du serveur et génération d’images

  • Récupération des informations d’arrivée des bus via l’API GraphQL de NJ Transit
    • Collecte des données de ligne, heure d’arrivée, niveau d’affluence, etc. avec la requête getBusArrivalsByStopID
  • Utilisation de wkhtmltoimage plutôt que de puppeteer pour convertir le HTML en PNG
    • Le serveur génère une nouvelle image toutes les 3 minutes, que le Kindle vient ensuite récupérer
    • Le code associé est publié dans le dépôt GitHub kindle-hax/server
  • Ajustement de la rotation et de l’alignement de l’image pour correspondre à la résolution de l’écran du Kindle (par ex. 600x800)
    • Affichage en orientation verticale avec transform: rotate(90deg) translateX(-100px) translateY(-100px);

5. Création de l’application KUAL

  • Création d’une extension KUAL personnalisée pour contrôler le démarrage et l’arrêt du tableau de bord
    • Placement du dossier dans /mnt/us/extensions/, puis affichage du menu « Start dashboard » dans KUAL
  • Le script start.sh reste stable à l’exécution en ignorant certains signaux (trap '' HUP, trap '' TERM)
    • La fonction refresh_screen() télécharge l’image du serveur puis l’affiche avec la commande eips
    • Affichage en haut de l’écran de la date, de l’état du Wi‑Fi et du niveau de batterie
  • Détection via evtest de l’entrée du bouton de menu (code 102 (Home), value 1) pour exécuter stop.sh
    • Fermeture du tableau de bord et redémarrage de l’interface utilisateur du Kindle

6. Résultat et pistes d’amélioration

  • Environ 5 jours d’autonomie, avec jusqu’à 2 jours de plus si l’alimentation est coupée la nuit
  • Le problème de rémanence de l’écran (color bleeding) pourrait être amélioré avec un flash noir et blanc complet
  • Utilisé au quotidien, avec confirmation du potentiel d’extension vers l’affichage d’un calendrier, de la météo, des tâches et d’autres informations

2 commentaires

 
xguru 2026-02-26

J’ai moi aussi fait quelque chose de similaire récemment, et si voir la barre d’URL en haut ne vous dérange pas, vous pouvez simplement charger une page web.
Le Kindle permet par défaut d’accéder à une URL depuis le navigateur web, donc il suffit d’y ouvrir le tableau de bord.
Au bureau, j’utilise un Kindle, et à la maison un ancien Paperwhite, tous deux chargent la même page, donc c’est plutôt cross-platform haha.

Bien sûr, pour que le Kindle reste allumé en permanence, il faut faire un root ou une manipulation équivalente.
Pour le Paperwhite, pas besoin d’aller jusqu’au root : il suffit d’activer la connexion adb, puis de désactiver l’économiseur d’écran depuis là.

 
GN⁺ 2026-02-26
Commentaires sur Hacker News
  • En tant que personne ayant déjà travaillé sur la consommation électrique des Kindle, la plus grande source de consommation était le Wi‑Fi
    parce que le Wi‑Fi doit répondre périodiquement au point d’accès pour maintenir la connexion active
    de mémoire, c’était environ 700 uA lorsqu’il était coupé, et environ 1,5 mA lorsqu’il était activé
    lors d’un changement de page, la consommation montait brièvement à plusieurs centaines de mA, et un rafraîchissement complet de l’écran était effectué toutes les quelques pages afin de réduire le ghosting

    • J’ai retiré la batterie et alimenté le Kindle en 5V via une diode depuis le port USB
      il fallait une alimentation capable de fournir environ 1,5 A en pointe ; en branchant un ancien hub USB alimenté à un Raspberry Pi et en le contrôlant via SSH, cela a fonctionné de manière stable pendant des mois sans Wi‑Fi
    • Mon RM2 ne se connecte jamais au Wi‑Fi, et je peux rester des mois sans le recharger
      je l’utilise moins de 30 fois par mois, mais avec le Wi‑Fi coupé, l’autonomie est étonnamment bonne
      je n’ai pas encore modifié mon Kindle Paperwhite, mais je compte au minimum supprimer les publicités de l’écran de verrouillage
    • Je pense tester l’autonomie en coupant le Wi‑Fi et en allongeant l’intervalle de rafraîchissement à 2 minutes
      maintenant je comprends enfin clairement pourquoi la batterie dure plus longtemps en mode avion
    • Je me demande si coller des cellules solaires au silicium amorphe autour du Kindle permettrait d’éviter de le recharger tous les 5 jours
  • J’ai utilisé une méthode plus simple
    après le jailbreak, je m’y connectais en SSH et j’ai créé deux scripts s’exécutant respectivement toutes les 1 minute et 30 minutes
    les deux scripts affichent la même image, mais celui des 30 minutes ajoute un rafraîchissement complet
    depuis un Raspberry Pi, j’envoie l’image via rsync, et un script Python récupère des données sur la qualité de l’air dans MySQL pour composer l’image
    le Kindle se contente donc d’afficher l’image, ce qui le rend très stable

    • J’ai souri en voyant qu’une « méthode plus simple » mentionnait rsync, Python et MySQL
    • S’il existait un écran eInk qui se contente de recevoir et d’afficher un bitmap, ce serait suffisant pour beaucoup d’usages
      il suffirait simplement qu’il prenne en charge une connexion sécurisée comme TLS
    • J’ai fait quelque chose de similaire : j’ai jailbreaké mon Kindle pour lire des ePub dans le bus, puis demander à Siri quel était le prochain bus
    • C’est vraiment satisfaisant de résoudre un problème avec deux scripts simples plutôt qu’avec un framework complexe
  • Hacker un Kindle est vraiment amusant
    on peut trouver de vieux Kindle sur eBay pour 15 à 20 euros, et je me suis moi aussi bien amusé à faire la même expérience l’an dernier
    j’ai détaillé le processus dans mon billet de blog

    • On peut acheter sur AliExpress une carte e-ink basée sur ESP32 appelée Xteink4
      c’est petit, mais avec le firmware Crosspoint, on peut l’utiliser comme lecteur e-ink portable
      Vidéo YouTube, Crosspoint GitHub
    • Si la rétro-ingénierie vous rebute, il existe aussi des écrans e-ink qui se branchent sur le port DSI du Raspberry Pi
      c’est un peu plus cher, mais il est possible qu’ils réutilisent des écrans de Kindle
    • C’est agréable de voir comment d’autres personnes atteignent le même objectif par des approches différentes
      cet article m’a donné envie d’expérimenter davantage avec des plateformes comme Cloudflare Workers
    • Je me demande si l’on peut commencer le jailbreak immédiatement, ou s’il faut d’abord lier un compte Amazon lors de la configuration initiale
  • J’ai transformé un vieux Kindle en cadre d’images générées par IA
    une nouvelle image est générée toutes les quelques heures, et le prompt peut inclure la météo, des animaux, un pays, des titres d’actualité, etc.
    tout le traitement est effectué localement sur un serveur domestique ollama + stable-diffusion-webui
    en revanche, les images basées sur l’actualité devenaient trop déprimantes, donc j’ai demandé à l’IA de leur donner un ton positif
    les jours de pluie, il pleut aussi dans l’image, et en hiver il y a de la neige
    la batterie tient aussi plusieurs semaines, et j’ai modifié l’extension Online Screensaver pour qu’elle passe automatiquement en mode avion

    • Ce serait amusant aussi d’utiliser la reconnaissance vocale pour visualiser des conversations sous forme d’images
    • L’e-ink est un support qui va curieusement très bien avec l’art génératif
  • Ma version de tableau de bord Kindle est publiée sur GitHub
    elle affiche la météo locale et les informations musicales de mon serveur multimédia
    le problème de ghosting à l’écran se résout avec un rafraîchissement complet périodique via la commande eips -f

    • J’ai été impressionné de voir que c’était écrit en Rust
      c’est la première fois que je me suis dit que j’avais envie d’apprendre Rust
  • Dans le Queensland, en Australie, on utilise des panneaux d’information d’arrêt de bus en e-paper alimentés à l’énergie solaire
    c’est bien plus grand qu’un Kindle, mais le principe est similaire
    Présentation du projet, vidéo de démonstration

  • Ce projet m’a rappelé le projet SystemSix

    • Vraiment superbe. Ça m’a donné envie de fabriquer moi aussi un support sur mesure
  • En ce moment, on dirait que tout le monde fait ce genre de projets de modification de Kindle
    j’ai moi aussi modifié un K4NT pour en faire un serveur affichant le planning familial
    je me suis un peu aidé de l’IA, j’ai ajouté un insert imprimé en 3D dans un cadre Ikea et fixé une batterie externe MagSafe
    il suffit d’appuyer sur le bouton d’alimentation tous les 5 jours, et je prévois de remplacer la batterie interne
    une connexion filaire n’était pas possible dans mon environnement

  • Si l’on désactive le réseau entre les rafraîchissements, l’autonomie augmente clairement
    moi, j’empêchais les mises à jour de 22 h à 6 h du matin
    il y a beaucoup de scripts d’économie de batterie sur GitHub
    j’avais aussi fabriqué autrefois un afficheur de transports publics basé sur GTFS avec un Raspberry Pi Zero + écran e-ink de 2 pouces
    Article sur le tableau de bord Kindle, projet Transit Pi

    • L’idée d’un tableau de bord qui affiche le temps restant de la machine à laver avec des icônes Pokémon est vraiment adorable
      ce genre de visualisation d’électroménager intelligent est vraiment séduisant
  • J’aime utiliser un Kindle comme écran à usage unique
    en fait, je préfère même le Kindle Fire à écran LCD à l’eInk
    en le passant en mode développeur, on peut laisser une page web affichée en permanence et l’utiliser sans publicité
    un Kindle Fire HD10 se trouve pour environ 40 dollars

    • Merci pour l’info sur le Kindle Fire
      un LCD sans ghosting et lisible dans l’obscurité est une excellente amélioration pour un tableau de bord