E-ink dashboard project update

A while ago, I posted my e-ink dashboard project, but since then my code has undergone some changes that I wanted to share.

The biggest one is that the software has been entirely re-written in Python, using the Python Imaging Library. Previously, each screen was rendered as a web page in Chromium, with the Puppeteer API used to capture a screenshot of the page. While this made it very easy to create layouts with HTML tables and margins, it was really not an efficient way to generate an image for the display. It was also tricky to manipulate data.

The other changes:

  • word clock now takes up the full width of the display.
  • redesigned weather screen layout
  • weather screen now uses the OpenWeatherMap and WAQI APIs (Dark Sky shut down after being acquired by Apple).
  • calendar and tasks screens were recoded to support the CalDAV backend, but I decided to remove these as they weren’t important to me any more.
  • Put some hanging strips and cable management tape along the back to keep the electronics in place, and I’m using a ribbon cable to connect my Pi Zero WH.



Beautiful. How did you make the enclosure? It looks like a tiny computer screen.


It’s an e-ink display in an IKEA photo frame - similar to what you’d see in a Kindle. I had the mattboard (the white bands on the sides) custom cut from a picture framing store. :slightly_smiling_face:

At the time I put this together, CE didn’t stock much in the way of e-ink displays but I see they have a few options now. The caveat is they take a few seconds to refresh the screen so you can’t expect to use it like a computer monitor.


Thanks a lot for sharing. It’s cool.

1 Like