eInk Frame: Exploring generative art algorithms

Over the years I (and many engineers) have built electronic picture frames of sorts. "Back in the day" (i.e. about 10-15 years ago) that usually involved taking apart an LCD monitor and reinstalling its components into a picture frame; more recently it has become common to just shove an old tablet PC (e.g. iPad) inside a frame and be done with it.

One problem with LCDs though: they emit light. It not only looks unnatural, looking much more like a display on the wall rather than a work of art, turning your apartment into the feel of an airport departure gate. And they do consume a nonzero amount of energy, especially if you use a big one.

eInk fascinates me a lot. It's excellent in bright sunlight, and even though most eInk displays on the market are greyscale, it's extremely pleasing to the eye, and much better suited for something hanging on a wall. And so I built a new frame using eInk.

The hardware is fairly simple. It's just a Waveshare eInk display and a Raspberry Pi Zero to drive it. The frame is custom-built from Frame Destination. The Waveshare Pi HAT came with headers installed, which I had to remove and replace with a 90-degree header to keep the Pi and driver board low-profile enough to fit within the thickness of the frame.

What's interesting is the software possibilities. I wanted to focus on generative art. The first display I built is based on {Shan, Shui} by Lingdong Huang, which procedurally generates Chinese landscape scrolls, but that are infinitely long, driven by pseudorandom numbers. The idea is the landscape on this frame is ever-changing, never repeats, and scrolls very slowly.

For my next frame I want to build something based on this Pytorch implementation of DALL-E. — I'm thinking a picture frame that you can yell something at it, and it draws whatever you yell at it. We'll see how that goes, considering the limited training data available.