Hacking an old Kindle to display bus arrival times
This project details how to transform an old Kindle into a live bus arrival display, leveraging its e-ink screen for a low-power, single-purpose gadget. It walks through the intricate process of jailbreaking, setting up custom software, and dynamically generating images. The Hacker News community appreciates the ingenuity of repurposing outdated tech and the deep dive into Kindle's internal workings.
The Lowdown
Fed up with checking bus times on her phone, the author repurposed an old Kindle Touch (4th Gen) into a persistent bus arrival display, mirroring the functionality of commercial e-ink dashboards but without the hefty price tag. The detailed guide outlines the technical journey from a dormant e-reader to a wall-mounted information panel, highlighting both the challenges and triumphs of hacking an embedded device.
- Jailbreaking & Custom Software: The process begins with jailbreaking the Kindle, followed by installing KUAL (Kindle Unified Application Launcher) and MRPI for custom application management. This step involved navigating obscure forum threads and understanding Kindle firmware versions.
- SSH Access: Setting up SSH via a KUAL extension (USBNetwork) enabled remote access, turning the Kindle into a controllable server for code execution.
- Image Generation Server: A crucial component is a backend server that pulls bus data (from NJTransit's GraphQL API), renders it as HTML, and then converts the HTML to a Kindle-resolution PNG image using
wkhtmltoimage. Performance considerations led to avoiding Puppeteer, and meticulous rotation/translation was required to correctly orient the display. - KUAL Application: A custom KUAL app provides an on-demand interface to activate the dashboard mode, allowing the Kindle to function normally when not displaying bus times. The app utilizes
trapcommands for robust script execution,rtcwakefor power management,curlto fetch the image,eipsto display it, andevtestto listen for menu button presses, enabling an exit from dashboard mode.
After a month of operation, the author notes some remaining issues like color bleeding, which might be solvable by flashing the screen black and white during sleep, and battery life, which currently stands at five days. Despite these, the project is deemed a success, offering a significantly simpler way to check bus times and opening up possibilities for displaying other useful e-ink information.
The Gossip
Kindle Crafting & Custom Displays
Many commenters shared similar experiences and projects involving hacking Kindles or other e-ink devices for custom displays. Discussions revolved around the joy of repurposing old hardware, the technical challenges involved, and alternative approaches like using Kindle Fire devices or different software for rendering.