This way Kindle has a very simple job, no apps installed no anything, just two extra cronjobs to run the oneliner bash scripts that draw the image. And I use rsync from a raspberry pi to push a new image every minute. That image is assembled with a python script, rpi side, with air quality data. Connects to local mysql server, pulls the values and then assembles it.
I smiled
The usual idea is a that a smart home becomes filled with smart devices and yet what worked really well for me was having dumb devices with a very smart brain in the middle.
Buttons, switches, lamps, and sensors are commodify Zigbee devices and the entirety of the logic and programming is done on the Home Assistant server. The downside is latency.
With zha, you can bind them together from the Home Assistant device page.
I usually favor an architecture that can work without Home Assistant, such as standalone ZigBee dimmers, or contactors that can work with existing wiring. Home Assistant brings automation on top, but it doesn't matter much if it breaks (I mostly notice the shutters not opening with sunrise). Then Internet connectivity can bring additional features, but most things still work if it's down.
I'd say it has been pretty solid for years, and I don't stress too much when I have server issues.
I Jailbroke my Kindle so I can read epubs on the bus and I just ask Siri when the next bus is comming.
I did the same last year and had lots of fun in the process.
It costs more and is smaller but when you are done playing around with it you can flash it with Crosspoint[1], carry it in your pocket and read books on an e-ink display wherever you are.
[0] - https://www.youtube.com/watch?v=yMoq17-1pJA [1] - https://github.com/crosspoint-reader/crosspoint-reader
Your post is making me want to try more Cloudflare Developer Platform stuff like Cloudflare Workers.
The hardest part was finding the `Update` menu item. It's only visible if you go to Settings, then press the menu button again while on the Settings page.
Not sure if registering the Kindle was required.
Jailbreak of any firmware after version 5.16.2.1.1 (June 2023) requires the Kindle to be connected and registered.
Anything prior to, and including this version, can be jailbroken with no registration.
Here's my version of a kindle dashboard I set up several months ago (https://github.com/thekakkun/kiiin). I use it to show local weather data and music data from my media server.
As for the "color bleed" (I assume it's ghosting) you mention, periodically using `eips -f` when drawing the image to force a full screen redraw should help.
The only problem I've had is that most news articles from mainstream media are damn depressing, so generating paintings directly from them gets gloomy quick. I had to instruct ollama to try put a positive spin on negative articles. I do love my weather-forecast painting though. Whenever it's raining outside, the painting has rain in it too (or now during winter it's all snowy).
Battery life is really good too, lasts several weeks. I used existing "Online Screensaver extension" from MobileRead forums, with some customizations. It automatically turns on airplane mode after fetching the image and keeps it on until next fetch, which probably explains the improved battery life.
[1] https://translink.com.au/about-translink/projects-and-initia...
[2] https://www.facebook.com/TranslinkQLD/videos/e-paper-trial-h...
I built GTFS based public transit display on top of a Raspberry Pi Zero and a 2" e-ink display ~10 years ago [2].
[1] https://franz.hamburg/writing/kindling-e-ink-dashboard.html
You can regularly find the Kindle Fire HD10s for ~$40
The "electric sign" app does this, which is where I referenced the code.
With trmnl, the image only refreshes every 10 mins so the device will set a ~9 minute alarm to wake the device right before it needs to load the next update.
The refresh period is also configurable so a slower refresh interval (e.g. every hour for less time-sensitive screens) yields larger battery savings
Dyson vacuums and Kindles are not the same whatsoever, but I wonder how easily it'd be to swap out the battery on an older Kindle. For our vacuum, all I needed was a 20 dollar replacement battery and the will unscrew 3 mini screws.
I understand there's like all sorts of complexities in standards, form factors, voltage, wattage, etc, but I really wish I could upgrade my old devices like that.
I've been thinking about similar setups for kitchen recipe displays. E-ink is perfect for anything you glance at - no backlight burning your eyes at 6am, and the always-on nature means you don't have to wake up a screen. The trade-off of slow refresh is actually a feature when your data only changes every few minutes.
This is the link: https://lilymara.xyz/posts/2024/01/transit-kindle/ from https://news.ycombinator.com/item?id=41923753
The author went from rendering a pixel-perfect image on Kindle to building a separate HTTP server to do it in rust!
Of course, if you have an old kindle about, reusing it is a great way to avoid waste.
I rebuilt the OneBusAway iOS app from scratch as a pair of Swift frameworks that will work anywhere, including tvOS[1].
Then, I started a new project to rebuild the OneBusAway server in Golang from scratch[2].
Then, I got an intern to build a suite of fantastic SDKs on top of Stainless[3].
Finally, I got Google to pay for an intern last summer to build a sign mode UI in SvelteKit that will work in any browser[4].
Easy!
But seriously though, if your transit agency isn't so cool that they provide GraphQL endpoints to query transit information, I think you'll find that the OneBusAway Maglev server is an incredibly easy way to consume your transit agency's scheduled and realtime data, and that our SDKs and apps are a fantastic way to visualize all of that information.
We're always looking for software developers to help out with our projects, as well as folks in disciplines ranging from user experience and product management, to biz dev and marketing, to volunteer some time to help our underfunded open source projects succeed. Feel free to reach out to me at aaron@onebusaway.org if that sounds interesting to you. Our software is used by millions of people every day in cities all around the world, including Seattle and New York City.
----
[1] https://github.com/oneBusAway/onebusaway-ios/
[2] https://github.com/OneBusAway/maglev
[3] https://developer.onebusaway.org/api/sdk and Stainless (which is a really terrific product) is at https://www.stainless.com
Or is there a javascript restriction on kindle?
Although I did notice some weirdness with using the browser. I have an HTML endpoint up at https://kindle.mariannefeng.com/, and for some reason whenever I tried to go to that page using the Kindle browser, it returned a message about not being able to load the page. And I don't even think my page has javascript.
https://github.com/rga5321/productivity-dashboard
I am not using it anymore as I bought a TRMNL display and set up a simple template to do the same, but it worked well for me.
The actual tram-stop does indeed have a display, but here in Finland it might be -20°C in the winter time so I don't want to walk to the stop earlier than necessary.
Sure waiting ten minutes won't kill me, but I'd much rather wait 1-2 minutes instead. Keep myself toasty-warm indoors.
Living in warm country I don't really understand why people would live in such harsh conditions but that is a different topic :)
You could check on the phone, but I could certainly see the appeal of a fixed display in a convenient location.
The Kindle browser is surprisingly decent, I made Claude Code generate an RSS feed reader compatible with the Kindle browser, with the ability to read full articles (for those feeds that require you to visit the website), and download articles. It also supports Reddit and Google News RSS feed. This is my new favorite way of browsing the internet.
I also didn't want the browser bar at the top.
After going through this process though, I'd say as long as somebody has basic linux knowledge, chances of bricking are pretty low.
It teeters a fine line between jank and minimalism.
For a defunct startup, I built this exact thing as a product for coffee shops:
cafetren.com.ar
https://cafetren-com-ar.translate.goog/?_x_tr_sl=auto&_x_tr_... (translated from spanish):
A small solar battery is a VERY interesting idea. If I don't end up being able to hit that number by adjusting the code itself, will look into it.
Bus stops in Shanghai have e-ink displays that are kept up to date with the current estimated arrival time of each bus. (I don't know what the time resolution is; it could be 60 seconds, but not much longer than that.)
Off the top of my head, I think 'on' average power consumption was ~700uA without wifi, and about 1.5mA+/- with Wifi. This is from over a decade ago, so my memory is fuzzy though...
Obviously, page changes used relatively large amounts of power. I don't recall the exact amounts, but it was 100s of mA for seconds.
There is also an "every x pages, do a full screen refresh (black to white)" to fix up the ghosting issue that the article writer saw.
Haven't modded my paper white kindle, I'm thinking at the very least I'm going to get rid of those forced ads you read when you wake it up.
Side note this also finally explains to me why battery life on the Kindle is SO good in airplane mode.