Over the past few weeks, I’ve developed a custom e-ink family calendar as my first Raspberry Pi project. This calendar combines hardware elements inspired by MagInkCal with layout concepts from MagInkDash, resulting in a unique and functional display for our home.
Features
The e-ink display updates hourly and when content changes, showing the calendar, weather, and interactive elements.
- Shared Google Calendar Integration: Displays appointments from a shared Google Calendar.
- Dynamic Background Images: The calendar shows random daily background images from popular children’s books, adding a surprise element each day.
- Interactive Character Elements: In the bottom left of the display, different characters from Max Velthuijs‘ Frog books can pop up to comment:
- Rat provides context and commentary on current calendar items.
- Haas (Hare) shares an interesting daily fact, sparking curiosity and learning.
- Kikker en Beertje (Frog and Bear) displays messages sent to a custom Telegram chatbot.
- Weather Integration: Syncs with Open-Meteo, a free weather service to display up-to-date forecasts alongside calendar events.
- 4-Day Display: A 4-day outlook in a landscape format provides a comprehensive view of upcoming events and activities.
Hardware and Setup
For those interested in replicating or adapting this project, here’s a detailed breakdown of the hardware components:
- Raspberry Pi: I used a Raspberry Pi Zero WH.
- E-Ink Display: A Waveshare 12.48″ tri-color (black, white, and red) e-ink display.
- Software Stack:
- Unlike the original MagInkCal project, I generate the calendar webpage on a separate server.
- The Raspberry Pi runs a headless Chrome instance to capture screenshots of the generated webpage.
- A Python script processes these screenshots and sends them to the e-ink display.
- ChatGPT API is used to generate character dialogues and daily facts.
The e-ink display updates hourly and when content changes, showing the calendar, weather, and interactive elements. Unlike battery-powered versions, this setup uses a power adapter for continuous operation.
Project Outcome
The calendar successfully displays our family schedule, weather forecasts, and interactive elements. Beyond serving as a practical family organizer, it has become a daily source of excitement for our daughters (ages 2 and 4). Every morning, they rush to see what facts Haas has to share and what new background image from their favourite books is displayed.
Credits
This project was inspired by and built upon MagInkCal and MagInkDash by speedyg0nz.
Similar posts
If you like this post, you may also like one of my other posts:
- Rendering distance fields using the Go-language
- Shadertoy iOS app
- Navier Stokes: iPhone vs iPad
- Augmented Reality and Shadertoy
- Doom 3 – OpenGL Shading Language