We launched the Kindle Jailbreak in April 2025:
βhttps://usetrmnl.com/guides/turn-your-amazon-kindle-into-a-trmnl
Alpha release
The alpha version worked like this:
Our KUAL application fetched content from the
/api/display
endpoint (docs). This image was for a native TRMNL device with 800x480 dimensionsReturned image was sent back to TRMNL, to a proxy endpoint, and transformed on-the-fly to match the Kindle's hardware specs
With this strategy it was possible to mirror a native TRMNL device on a Kindle, without any extra licenses or costs.
Beta release (current)
On-the-fly image manipulation is difficult to scale, so we upgraded the stack:
TRMNL web interface has a "Device Model" dropdown picker (docs)
Plugin images are generated based on these parameters
Our KUAL application fetches content the same way native devices do, without any proxying or on-the-fly manipulation required
To access these improvements, this strategy requires that a Kindle making requests to our API is recognized as a Kindle device by TRMNL's screen generation pipeline.
Official release (in progress)
As our Device Model docs explain, DIY devices have several attributes beyond height/width dimensions. These include different levels of grayscale, color support, and degrees of rotation.
When Framework 2.0 is released (est July 2025), TRMNL's screen generation pipeline will take these parameters into account as well, creating perfectly optimized images for every device (Kindle, Kobo, Android, etc) that has been articulated in TRMNL's Device Model database.
To contribute to the Device Model database, see the docs.
TRMNL <> Kindle FAQ
Can I use connect multiple Kindles to 1 BYOD license?
Yes and no. The spirit of TRMNL is 1 device <> 1 license, but we respect those who simply want a few mirroring instances around their home. A couple things to consider:
Do your Kindles share the same specs? If not, images will be optimized for only some devices based on your chosen device model.
Do you intend to add more than 2-3 devices? If yes, you may hit our
/api/display
endpoint's rate limit.