E-Ink Magic Calendar that runs off a battery powered Raspberry Pi
github.com
github.com
Great work and congrats on this!
...from the same guy who did this: https://news.ycombinator.com/item?id=16140284
https://e-radionica.com/en/inkplate-29.html
The project, found on hn: https://rahulrav.com/blog/e_ink_dashboard.html
[edit: 4.7” ESP32 based epaper display with touchscreen, built in battery and expansion ports]
https://shop.m5stack.com/products/m5paper-esp32-development-...
You can get small e-ink screens (without a HAT, requires adapter ~10$ and dev board which is necessary anyway) for much cheaper.
5.8 inch is 40$
800×480, 7.5inch 50$
400x300, 4.2inch E-Ink raw display, three-color 26$
The cheaper ones are cheap because:
1) Each size comes in a low res and a high res variant, the low res ones are a lot cheaper
2) No HAT, so no built-in dev board for the PI. You do need to somehow connect it to your dev board. An adapter with SPI costs 10$, a dev board with esp8266 that has built-in adapter costs ~18$. Both are officially from wave share available on their site as well
3) All boards below 7 inch are relatively affordable. After that the price increases are huge
4) Not sure why, but price difference between black/white and 3-color is negligible. So feel free to pick a 5 inch tricolor screen for like 40$!
For this type of project the esp32 seems like the better choice than the pi zero.
There’s also the RP2040 if you want work in the pi ecosystem. Arduino and u-blox have those with wifi I think
Watch out for a few things:
1. Refreshes are much slower on 3-color eInk panels than on monochrome ones (eg: 20 sec vs 2)
2. Partial refresh on 3-color panels is rare and quickly gets messy around the edges. Partial refresh on monochrome panels is a relatively simple thing to do.
3. Greyscale on a 3-color eInk screen is VERY VERY VERY hard! Officially it is not supported at all. By any 3-color panel. I made it work [1] but even then, it is very very slow (bordering on a full minute per refresh).
4. Stock waveforms are rarely good. And almost no vendor will give you proper temp-compensated partial update waveforms. Developing your own waveforms for monochrome panels is easy and simple (~day). Developing your own waveforms for 3-color panels is a lot of work (~weeks + more weeks once you need to support more than just "21-25 celsius")
[1] http://dmitry.gr/?r=05.Projects&proj=29.%20eInk%20Price%20Ta...
I’d love to have this, art, and other “appliances” and slabs with eink. Ex. My todo list. My email etc.
https://rahulrav.com/blog/e_ink_dashboard.html
Rahul got oauth2 flows working to get google calendar access.
Used it in this thing: https://github.com/lawik/calendar_gadget
A few gotchas:
1. some of these eink boards are hard to procure as a consumer. the vendors want you to be a company
2. the driver boards are purchased separately, are definitely required, and sometimes have windows software (vs easy to use rasp-pi drivers)
3. support is often difficult or from the OEM so english-language communication can be difficult.
see for example: https://github.com/Neelakurinji123/kindle-weather-display
the mobileread forum ist full of good information e.g.: https://www.mobileread.com/forums/showthread.php?t=267541
Now I need to press hard with a needles to make the serial port work - so it is quite hard to setup - at least until I install sshd there and setup wifi to make it work wirelessly.
e-ink is the perfect blend between technology (screen can display whatever you want) and the analogue/physical world (it looks like a piece of paper which you can put in a wooden frame and interact with).
Another example for me is the “Buddha Machine” by FM3 (https://www.fm3buddhamachine.com): it’s basically a box that plays some ambient loops (technology) but it looks like a small and unthreatening transistor radio with nice tactile buttons (physical).
Ambient Executive Dashboard | Uncrate https://uncrate.com/ambient-executive-dashboard/
A new version that uses WiFi instead of a defunct paging network would be nice.
Plans to mod original ones so the meters could be driven by a micro-controller or Raspberry Pi would be cool.
If the e-ink people ever overcome their cost problem, we'll see many more products.
I saw this recurring theme on HN that electrophoretic panels were expensive due to patents and evil misdeeds by that most evil corporation called E-Corp.
I thought, hey, I work in this bloody display industry myself where everything is about volume, volume and more volume, and I hangout with their guys at conferences and events, and I've never heard such a thing as them using patents to attack other industry players. Are they really attacking people and hurting customers that want to use their technology as alleged?
So I asked a simple question each time I saw that claim that E Ink uses patents to attack startups or similar claims. What's the evidence?
And guess what. Now it turns back to people like you who ask what is my evidence that there's no evil misdeeds. And to which I just feign shock, oh no, it must be true then, since a lack of evidence for them being innocent of the alllegations must mean they are guilty.
So we're left back at square 1. I hope people with a smarter mind than mine can arrive at whatever the correct conclusions are.
LCD/OLED displays were also very expensive initially, but because they're so much appealing universally, loads of money got poured into the industry to make them better and cheaper (mostly due to volume demand).
There's no such amount of money/interest in making E-ink better and cheaper :(
As for the comment about "money/interest", see my comments about why a venture capitalist would have little interest in spending billions trying to create new display tech and fighting hard expensive physics problems when they could get higher rate of return by investing in another software service or ML/AI company. That said, Jeff Bezos spent hundred million or more on trying to get Liquavista working, Qualcomm spent lord knows how much on Mirasol. Great demos, but just couldn't get the process scaled or reliable enough to commercialize. Physics is hard. Physics is expensive.
Seems to be a meaty thread if anyone else is curious.
VC money is unlikely the source for this kinda of industrial research and bumpy road to scalability.
LCD/OLED panels got so cheap largely due to Korean/Japanese/Chinese government subsides. I doubt any of them will do so for e-ink.
[1] https://www.businesswire.com/news/home/20171220005895/en/E-I...
I just made a simple weather web app which connects to a free service. This works great. I could have written a little Android app to do the same, but my memory of Android UI is that I never ‘got’ it so this seemed easier.
Huh, I see non tri-color version is still available in my country (Poland): https://kamami.pl/en/displays-for-raspberry-pi/577635-1248in... but forget the "less money" part...
This project is really cool, but I would prefer to have "a new picture every morning" in a frame than a calendar. For my purposes the e-ink displays are still a bit too small....
I hope it’s okay to plug here: I am working towards releasing a similar product for sale:
https://www.invisible-computers.com/
Unfortunately the display isn’t as big as the one you chose and it isn’t battery powered. But I am starting to ship the first units, so there is that :)
Love the wood bezel though; looks really nice.
Also, space. Right now the calendar is 7mm think and I think it won’t look as nice on the wall if I make it much thicker.
There are a lot of edge cases to consider. It’s definitely on my wish list but I cut it out for simplicity, for now.
1. Any plans to release some general purpose version of this? Ie i'd love to buy this and hook it up to an HTML webpage i generate or something. Then it's flexible to whatever i want to show on my dashboard.
2. Any plans for how consumers should power this hanging on a wall? Since it's wired it looks like.
In principle that’s something that I could enable eventually. It’s a nice idea. I’ll think about it.
re 2: There is a standard usb plug at the far end of the cable. It can be plugged into a usb charger.
This seems to be a hobbyist project, not a major corporate effort where $100Ks were spent on tech selection.
Instead of generating HTML from calendar data, generate PS and have Ghostscript convert it to PNG.
I don't know PostScript, and based on the example code in the wikipedia article (https://en.wikipedia.org/wiki/PostScript#The_language), I was able to get it to draw some text in a few minutes.
I can code a selenium script to capture a screenshot in my sleep.
Often using tools your know is the best solution.
Your free to fork this and come up with a cleaner implementation. This is probably why you need a PI Zero. Smaller micro controllers can't run a full browser.
Most of these projects are just whatever can be hacked together in a weekend.
You have just massively bloated your set of dependencies to accomplish something you could have done with a rudimentary GUI toolkit.
https://github.com/speedyg0nz/MagInkCal/blob/main/render/ren...
Its easy to design something nice looking in html and css and compute is cheap. Seems like a fine solution to me. Maybe even better since you can push the image generation somewhere else and just have the RPI update the screen with an image which would save lots of power.
I've tried making nice interfaces with GUI toolkits and its a nightmare.
I personally make SVG then rasterize but this isn't that terrible.
Some related philosophical discussions on that here: https://news.ycombinator.com/item?id=8679471
This is like poo-pooing amatuer woodworking and saying “people should really become an apprentice first” - no one who has the education to do careful engineering is being discouraged, the field of hardware and software is now within reach of people who just wouldn’t take on any of these projects 10 years ago.
They are, because they think this stuff is just as good --- and it clogs the search results for those who do want to dig deeper. I often have to add "-Arduino -Maker" and a bunch of other filters to my search results to find the actually useful stuff.
Besides, how can you look down on them when you’re googling for answers instead of, you know, RTFM / getting your engineering degree?
That is often more than useless to everyone not exactly in that one person's situation.
Besides, how can you look down on them when you’re googling for answers instead of, you know, RTFM / getting your engineering degree?
When trying to find TFM is itself a problem... I'm definitely not one to want to be "censoring misinformation" unlike a lot of others, but the blind leading the blind is certainly happening a lot and it doesn't help anyone.
he solved the problem with the tools he had, without spending time learning an alternative graphics layout system. I’m curious what you’d recommend as rudimentary tho, I would love to see such projects on lower power devices, but if you already need the Pi to talk to the ePaper, I don’t see the harm in burning a few cycles rendering a webpage to get the result you want.
This one looks good. Are there any that are like 3 inches bigger with borderline similar price points?
i find myself wanting larger displays than is for sale a lot. i want an electric photo frame but not some 12in screen. i have great photos i want to see them 4ft tall. this is an underserved market
Is anything going on? Is it worth me crossing the room to see? Should I be checking my email, other dashboards, or coworkers?
I must have 4 or 5 old Kindles in a drawer by now, somehow. I wonder if you could hack together a grid of old Kindles to make a giant e-ink screen?
Beautiful project!
Innophase T2, Dialog DA16200, RedPines (SiLabs) RS9116, RealTek Ameba... they all are super low power (like 100x less than RPi) even while maintaining the 802.11 association, and come with easy SDKs ready for REST HTTPS out of the box (and RTC capabilities, not sure about the ameba).
ESP-IDF is still very nice though, and being CMake based makes it easy to integrate outside code
It supports serial based uploads, which are still pretty nice with the bundled serial monitor (one key combo to build, upload, and restart) and OTA uploads
EDIT: grammar and typos.
The question, of course, is: What if these CAs expire?
On other hand, it's the most developer friendly company out there.
I've been unsuccessful getting any proper reaction from Innophase about SDK support. Their sales seem to not even understand what we are wanting from them, and keep sending us "enter these AT commands through USB-TTL"
ESP32 is also pretty much the one, and only wireless MCU you can buy on the open market, in any quantity, on a short notice. Nothing else comes with the supply chain security like this.
Maybe not, but setting it up to sleep most of the time and only boot once a day to fetch the calendar and update the display should sip power pretty sparingly; I expect you'd get months if not a year or more before needing to recharge the battery.
I am currently reading 428mA at 5.0V on the power supply that is driving it. It is headless and I'm not interacting with it. (400mA w/ethernet unplugged). So that's 2W. I'm running Buster Debian build. If you got a low power command, hit me with it and I'll try it! systemctl doesn't support hibernate. I don't do any low power linux programming mainly because Cortex-A class processors (heck, even M7's) are already far outside my power budget.
That is a crazy amount of power, compared to the InnoPhase T2 that draws ~300 MICRO Watts when connected and sleeping.
The problem (hibernate or not) is getting the Pi to wake up, since it doesn't have a real-time clock. OP is using a RTC hat to achieve this. I do wonder what kind of power consumption it uses while sleeping.
I don't like that it takes headless chrome to render, but it _works_ and fills a need for the maker.
I'm pretty sure they looked at the stuff they'd need to write (A layout engine, a anti aliasing library, a calendar parsing library, an image handling library) and thought "fuck that, lets use a pi".
It terms of time thats weeks full time, and even then might not be possible to fit on the uCPU of choice.
just buy a realtime hat with wake up ability, for $40 max, boom job done moving to making the thing look good.
Its not a product, its someone's hobby, leave them be.
Did you see the rendering? It is very simple, and does not require PIL. There are plenty of embedded GUI libraries that are specifically for this kind of application (uFX, Qt). Why not learn something new?
I want HN to be a place where experts critique ideas, not a Facebook/Instagram like-fest ego-stroke. I was proposing a deeper dive to the OP so that s/he could develop better skills. I wasn't mocking OP, but I was mocking your bad idea because you didn't make anything, you just threw out a naive suggestion.
Did you come here to learn or to get some karma for a dopamine hit?
I was critiquing your world view that _everyone_ must at all times go really deep into software so that everything can fit inside 4mbit of flash.
I was also also critiquing your strongly held opinion that simply because a microprocessor has low power states, it doesn't mean that its quick, easy or indeed achievable to render a nice calendar entirely onboard. (it is of course possible, but I know it would take me a lot of time and be no fun.)
Perhaps the goal of the project was to get something that looked nice in a time frame that was reasonable. Perhaps the goal was not to spend time learning how to do antialiasing, font handling, calendar parsing in a power constrained environment.
The joy of the internet is that they have shared their work, now you can build on it and make a good looking eink calendar that's battery powered on some tiny ARM SoC with 4kb of ram.
Whilst you're at it, I propose that you go out of your comfort zone and remake this https://www.secretbatcave.co.uk/projects/stock-ticker-machin... to make it purely electro mechanical. it can't be that hard.
I can see myself expanding on this (maybe even re-hashing your library essentially) running:
1. a Calendar,
2. next to a Stock Ticker,
3. next to a Financial accounts (i.e. all current asset) combined with Financial goals.
I've been thinking about the third one for a while. E-Ink / a simple, low power, monochromatic screen (similar to Amazon Kindle eReader) would be a good choice.
I built something similar but more versatile, where you can either display images or feed the display with whatever information you want remotely. And it runs on a battery for a whole year:
Did you actually sell screens already? I can imagine design stores want to sell this.
would make for some amazing, decorative art.
Plus run pinhole.
• Needs battery change more than monthly
I.e. it’s still less work to have a paper calendar and flip a page every month.
Is there a plugin for paper calendar so it will automatically sync with my Google Calendar?!
I can’t stand all this modern hardware which must all be charged after a few hours of use. It’s a continual stress factor to keep track of the charge of all your various devices.
> Waveshare 12.48" Tri-color E-Ink Display - $179.99
NOPE