Like many hackers, we love e-ink. There’s something mesmerizing and decidedly futuristic about the way the images shift around and reconstitute themselves. Like something from Harry Potter, but that you can buy on Alibaba instead of from a shop in Diagon Alley. But as anyone who’s used the technology can tell you, the low refresh rate of an e-ink screen limits its potential applications. It works great for reading books, but beyond that its struggled to find its niche in a world of cheap LCDs.
But [Zonglin Li] has recently wrapped up a project which shows that e-ink has at least one more use case: personal calendars. You can get way with only updating the screen once a day so the refresh rate won’t matter, and the rest of the time it’s going to be static anyway so you might as well enjoy the energy savings of leaving the screen off. With a Raspberry Pi behind the scenes pulling data from the Internet, it can populate the calendar with everything from your personal schedule to when your favorite podcast drops.
In practice, [Zonglin] is actually updating the display every hour as he’s included the current weather conditions on the top left of the screen, but even still, this is a perfect application for the very unique properties of e-ink displays. The display is a 7.5 inch 640×384 model from Waveshare that retails for about $50 USD, so between the display, the Raspberry Pi, and something to put it all in (here, a picture frame) this is a pretty cheap build compared to some of the large format e-ink displays out there.
The software side is written in Python 3, and [Zonglin] has documented how others can easily plug in their own information so it can pull schedule data from Google Calendar and local conditions from Open Weather Map. The MIT licensed source code is also very well organized and commented, so this could serve as an excellent base if you’re looking to create a more comprehensive e-ink home information display.
If this seems a little too pedestrian for your tastes, you could always put together an e-ink movie player, a surprisingly functional Linux terminal, or a very slick ESP8266-based name tag. If you’ve got the better part of $1K USD and don’t know what to do with it, you could even get an e-ink license plate.
Nice build, make sure to plan ahead for a good St Patrick’s day ;)
Something I’ve thought about, but the display has touch.
For some reason that bezel makes me want to claw my eyeballs out.
Do you mean the picture frame?
If a picture frame is what it started out as, then I understand how it came to be available to be repurposed.
Doesn’t using a Raspberry Pi defeat the super low power nature of Eink? I would think an ESP32 or ESP8266 would be a better match.
It isn’t running on a battery so it won’t really matter one way or the other, but that being said, the current consumption of a ESP8266 actively communicating over WiFi isn’t really that much different than the Pi Zero W. About 70 mA for the ESP and 140 mA for the Pi. The ESP32 will actually draw more than the Pi, at around 200 mA.
Of course the difference is that the ESPs can be put into a deep sleep and will draw a lot less than the Pi. But in this design it would have to wake up every hour to pull in new content anyway.
Considering that sleep is where this calendar could spend 99.9% of its time, that is the important part of the power consumption. Done well, it could mean this can be run from batteries and more conveniently located.
I have one of the 7 inch eink displays from Waveshare. I am very disappointed in it’s performance. It is very slow and take about 20 seconds to update and there is a lot of faded areas.
That more has to do with the waveshare library itself. You may want to check out the PaperTTY driver instead.
I have this exact display (the 7.5″) and a couple of the 1.9″ flexible ones.
The waveshare lib always flips each dot no matter what it was or is to be, so its quite inefficient and slow.
Note that the eink controller also does this, so they are duplicating time and effort, but the controller is what keeps the magnetic field from overloading a dot, not the library software. It’s just wasting time.
The PaperTTY library only updates the dots that have changed between frames and is much faster.
Using text mode it only takes about 2-3 seconds to refresh the entire screen and there is no flashing or artifacts.
Feels more like a terminal on a 56k modem.
Small correction, e-ink screens are electrostatic, not magnetic. But yes, double buffering the image or single buffering with the ability to read the display’s internal shadow ram to only send updated pixels are common methods to speed up display refresh rates. Especially important for displays the rely on serial interfaces as a means to update image data.
Note. The color e-Inks are like 10x slower than the B&W ones.Since it relies on the inertia/speed difference of the colored vs. the black particles.
What would you guys use to make an e-reader ? Are there affordable e-ink touch screens (~6 or 7″) out there ?
a hacked kindle is possibly also a nice option for this kind of functionality
I have a couple of broken e-readers (sony and kindle) that I specifically bought for this; now to get free time.