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.