Your cherished memories on eInk, powered by Raspberry Pi and Google Photos!
InkMemories is a low-power, always-on digital photo frame with Google Photos integration and driven by a Raspberry Pi Zero W.
See the video demo and GitHub repository.
I developed this project as a surprise gift to my partner! I was inspired to build this project after learning about the recent development of eInk screens that were not monochromatic and because I’d developed a yearning to reconnect with old memories from a Google Photos album I shared with my partner.
In essence, InkMemories works by running a daemon on a Raspberry Pi that routinely fetches images from a shared album in Google Photos. The integration with Google Photos was done by setting up rclone with Google Photos as a storage backend and mounting it on the Raspberry Pi's local filesystem for easy access through simple filesystem operations. A Python daemon is configured to pull out a random image from a Google Photos album every hour and display it on the eInk screen. For this project, I chose the InkyImpression 5.7 inch 7 colour screen in particular because it had a simple programming interface to integrate with.
While the core logic of the application was simple, a few requirements made this project much more complex over time:
Note: It is also possible to extend this project in a way to support more than just Google Photos as a backend. Doing so is a matter of configuring rclone. The core logic of InkMemories is well decoupled from the storage backend.
I also hacked together a simple design for a custom stand for the eInk display and Pi using Blender, then 3D printed it with white PLA filament on the 3D printers at my workplace.
Note: The holes in the back of the stand allow the power cable to the Raspberry Pi Zero to be funnelled through.
All in all, this project was fairly expensive to kick off due to the cost of the eInk display, but I expect it to cost next to nothing to run for several years. The reliability and lifespan of the specific screen I chose is still an unknown, however it is well documented that other commercial eInk screens can last well beyond a decade if refreshes are infrequent (which in this project’s case, can indeed be configured to be very infrequent).
These were the main expenses: