Stavros Korokithakis' Timeframe Is a 3D-Printed Multi-Functional ePaper Desk Accessory
Driven by an Espressif ESP32, this compact ePaper display can pull down everything from photographs to your Google Calendar schedule.
Developer and maker Stavros Korokithakis has turned a LILYGO T5 ePaper display development board into a multifunctional desk display, with a little smart coding and a custom 3D-printed chassis: the Timeframe.
"I realized that one thing that’s missing from my life right now is more time pressure. I have a job, which got me most of the way there, but I’m bad at remembering the time of each of the twenty meetings I have every day," Korokithakis jokes of the inspiration behind the project. "I really needed something that would allow me to see my daily calendar at a glance, and I realized that a 4.7' [ePaper] screen was the perfect thing for that use case, so I quickly started working on making this a reality."
Korokithakis turned to the LILYGO T5 as the base for the build, a 4.7" ePaper electrophoretic display connected to an Espressif ESP32 microcontroller module, 8MB of pseudo-static RAM (PSRAM), and 16MB of flash. In addition to integrated Bluetooth and Wi-Fi connectivity, the board offers easy support for being powered from an 18650 battery — which, bar the custom-built case Korokithakis designed for the project, sorted out the hardware side of things.
With C-programming skills self-described as "abysmal to non-existent," Korokithakis set about figuring out how to get something up on the display. A MicroPython port was tried and abandoned due to repeated failures to draw; an ePaper library had similar problems with vertical ghosting, the root cause of which was never discovered; but LILYGO's example code, built using an older version of the epdiy library, provided a base on which to build.
To simplify the project, Korokithakis split the processing part off-device. A server-side application pulls down data — from photos and other images to calendar entries — and converts it to a framebuffer format understandable by the epdiy library. The Timeframe itself, then, simply connects to this server and pulls down the contents of the framebuffer — which has, handily, already been processed to the right resolution with dithering and other quality-enhancing tricks. Each framebuffer is also hashed, so the Timeframe can check for changes without having to download the whole thing and update its display.
Sadly, the lifespan of the Timeframe proved short. "When I was trying to install a spacer in the case so that the screen wouldn’t move up and down so easily, I must have pressed slightly too hard, and noticed that the screen had a massive blank spot on the left side," Korokithakis explains.
"On further investigation, I realized that I had cracked the screen at the bottom, rendering it useless two days after I got it." Deciding to look on the bright side, Korokithakis designed a new chassis to hide the broken part and repurposed the original Timeframe into a split-screen weather station.
Korokithakis' full project write-up is available on his website, while the source code has been published to GitLab under the reciprocal GNU Affero General Public License 3. 3D-printable files for the chassis, which can be used in portrait or landscape orientations, are available on Printables under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.