Calendar template

A smart E Ink calendar is coming to my kitchen – Six colors

A look (redacted) at my E Ink cooking calendar. It’s paper recycling night.

I’ve been fascinated by E Ink screens ever since I first used a Kindle. And I’ve also been interested in smart home devices that display information in subtle ways since the first time I connected a Squeezebox music player to my home weather station and created a clock that also displayed the current temperature. (I use a Lametric Time for this now.)

So when John Gruber wrote about an E Ink status project by classic Mac developer John Calhoun, I was suddenly seduced by the idea of ​​creating my own E Ink status board. It took a few months, but I finally got there.

Like Calhoun, I decided to use this 13Bytes Louis GitHub project as the basis for my project. Unlike Calhoun, I didn’t really want to create something that looked like a classic Mac, although I appreciated his creativity and artistry. I actually liked the original project’s embrace of the classic desk calendar look and thought I’d at least start there.

So I ordered a $57 800×480 E Ink display from Waveshare, which is designed to connect to a Raspberry Pi – and I happened to already have a Raspberry Pi 3 sitting around.

The project works by writing text and graphics to image files (using Python, which I learned), then writing the images to the E Ink screen.

I made a bunch of customizations to the original script beyond basic font and layout changes. The main task of the display is to display upcoming events from the family calendar, but the original script used iCal shared calendars and we use Google Calendar. So I integrated Google Calendar integration. I had previously created a Python script that accessed Google Calendar for a different project and was able to reuse that code. Then I added today’s weather forecast via Apple’s WeatherKit API.

Along the way, I had to face a lot of small challenges. Google Calendar doesn’t provide times for day’s events, so I had to make them up, which led to a challenge because all of its events are listed in the UTC timezone. (If I defined a day’s event as starting at midnight UTC, it would be listed as part of the previous day because my local timezone is seven or eight hours behind UTC. I ended up having to convert each event in my time zone, then insert all day’s events, then sort them all together!)

Perhaps my favorite calendar feature was inspired by Calhoun, whose faux-Mac interface displayed a bulging trash can icon on garbage collection day. On our rubbish collection days, the local refuse collection company collects one paper bin and one glass and plastic bin every week. To remind us who’s what, we’ve created two events every two weeks in our calendar. If it’s trash night, my script reads the name of the event to determine if it’s paper or containers, omits that event from the calendar list, and instead displays a large icon to indicate which trash cans should be taken out.

And recently I added a subroutine that changes the display if it’s a holiday (either the official list or a list of family-specific celebrations like birthdays).

One unfortunate thing about a project like this is that a bare E Ink display and a Raspberry Pi are a loose assortment of electronic parts, not a cohesive unit. Fortunately, the initiator of the eInkCalendar project designed and 3D printed a case and placed the 3D model files in his open source project on GitHub. I used the Craftcloud 3-D print center to order one.

The result is a bit simple, but it works, and it allowed me to mount the screen in a frame and secure the Raspberry Pi to the back so it wouldn’t fall.

What I would do really as is the case for smart people selling kits with everything – screen, Raspberry Pi and 3D printed case – so I didn’t have to put it all together myself. Or at the very least, for people to build more impressive 3D printable speaker designs, like this one.

Am I happy with where I ended up with my new E Ink Kitchen Calendar? Not really. There’s more screen real estate and more data sources to connect. There are also other E Ink screens to explore. I pre-ordered this one. What am I going to use it for? I have no idea. But I’m pretty confident that I’ll find something.

If you enjoy articles like this, support us by becoming a Six Colors subscriber. Subscribers get access to an exclusive podcast, members-only stories, and a special community.