HN
Today

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.

12
Score
5
Comments
#2
Highest Rank
3h
on Front Page
First Seen
Feb 24, 8:00 PM
Last Seen
Feb 24, 10:00 PM
Rank Over Time
524

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 trap commands for robust script execution, rtcwake for power management, curl to fetch the image, eips to display it, and evtest to 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.