Zonglin Li has proven e-ink displays are not just for reading by creating a smart calendar hub.
Some project ideas are simple yet effective, allowing makers to get creative with otherwise unused items to produce something practical or fun. In Zonglin Li's case, inspiration struck when he was attempting to find a use for an e-ink screen he'd bought a long time ago without a clear project in mind. "I came across the box containing the screen and it reminded me that I should do something with it," he says.
At first, he considered turning it into a straightforward digital clock. "But I soon figured that it was impractical due to the long refresh time – every minute would require a full update, which is visually annoying," he explains. He then began to think about the kinds of information which could tolerate a longer refresh period.
"The project was not really ambitious at the beginning and all I wanted initially was something that could show me the date and perhaps the weather," says Zonglin. From there, however, he had the idea of incorporating his daily activities, seeing the existence of the Google Calendar API as an ideal opportunity.
Even so, much of the effort went into coding, with Zonglin coming up with ideas for widgets before figuring how best to structure them. He composed a date widget from a matrix of text widgets while the weather widget used Unicode text with a nice font for its icon and integrated with OpenWeatherMap API.
He also designed a widget for events using Google OAuth and Calendar API, adding an interactive guide to create a config file and parser. Finally, he sketched out each widget on paper, specifying the relative location of each component, and worked out the best-looking sizes before laying out their locations on the screen.
Once in place, Zonglin considered the look of the overall project, using the GPIOs for a manual refresh button while also allowing for automatic hourly updates. This ensured the information does not become not too stale, especially for weather.
To add some extra polish, the screen was placed in a 7.5-inch photo frame and the electronics – the Raspberry Pi, 330 Ω resistor, and breadboard – were tucked around the back. The result is a good-looking smart calendar. "The code can also be ported with minimal effort should I get a screen of a different size in the future," he says.