ktrm is a ruthlessly minimal TRMNL client for jailbroken Kindles.
ktrm was inspired by usetrmnl/trmnl-kindle, but instead of updating the TRMNL dashboard on a schedule, ktrm requires the user to press the power button to refresh the dashboard. By requiring manual intervention, we simplify the code and extend battery life. On my Kindle Voyage, it looks like I might get about 200 refreshes on a single charge.
Requires a jailbroken Kindle with KUAL installed (I used these WinterBreak instructions).
- Edit
ktrm/local/env.shwith your TRMNL API key. - Copy the
ktrm/folder to/mnt/us/extensions/ktrm/on your Kindle. - Open KUAL and tap ktrm to start.
If you want to quit ktrm, hold the power button for ~10 seconds to force the Kindle to restart.
When ktrm is running, press the power button to refresh the TRMNL dashboard. The Kindle wakes up, fetches the latest image from the TRMNL API, displays it with a full e-ink refresh, and goes back to sleep.
This is an intentional departure from the typical TRMNL setup, where the server tells the device when to check back in. Implementing that in an energy-efficient way on a Kindle is surprisingly tricky (at least for me). In this project, the device sleeps completely between button presses, which is simple and uses almost no power.
Occasionally, the Kindle OS will draw a status icon (clock, battery, wifi) over the dashboard. In these rare instances, I refresh the dashboard again. It's not perfect, but it's good enough for me.
Log messages are written to /mnt/us/extensions/ktrm/logs/ktrm.log.