I made an ePaper, solar-powered digital photo frame, or: the call for Solarpunk

Motivations

Many times I’ve considered buying a digital photo frame, but there was always something putting me off. Most of the commercially available options are easel back frames, designed to be placed on a table. The few alternatives available for hanging frames have the unsightly issue of the dangling power cable, something that I dislike and don’t want to compromise. Neither cable concealers, nor breaking walls seemed acceptable to me. I just want a digital picture frame I can hang on a wall and forget, while it does its picture changing thing.

I also enjoy the idea of building something that might potentially live a long life and become a family heirloom, displaying moments of our history. I realize this goal is the most challenging, and the only intuition I have about it is that in order to extend its life, both hardware and software ought to be built using as much as possible open standards and able to operate both online and offline.

Armed with these ideas and a newfound desire to experiment with solar panels and general hardware tinkering, I set on a mission to build exactly what I had in mind with the tools I was familiar with, and with a desire to learn about new technology.

The nitty-gritty

After some research I decided the first version would be based on a Raspberry Pi Zero, powered by a PiJuice board with a 1000mAh battery, connected to an IT8951 Controller, itself attached to a 10.3-inch e-Paper display capable of displaying 1872×1404 with 16 greyscales. The battery on the PiJuice is recharged by an array of 6V polycrystalline solar panels connected in series producing a theoretical 1 amp of current. Everything is mounted on a custom-designed frame which provides an ample 3cm of internal depth for placing the three boards and various wiring out of sight.

Because power is a scarce resource, this setup takes advantage of the fact that ePaper basically only needs power when refreshing the image. Accordingly, the Raspberry Pi is off most of the time, and only boots to perform a refresh, displaying a new photo, then quickly goes back to sleep. Raspberry Pi OS was optimized to boot in roughly 20s. All in all, a refresh takes less than a minute from boot to power off. PiJuice provides an API to both monitor the state of the battery and to create WAKE events using the onboard RTC.

A bunch of scripts cobbled together performs a few simple functions: fetching a new photo from a web server, displaying it (along with a few debugging values), and scheduling the next booting-time based on the power available. When the battery level is high, like above 90%, the photo is changed frequently, say every couple of hours. The lower the battery level, the less frequent the wake-ups. This is a great way to let the battery survive long stretches of cloudy days. At the very lowest level (<20% left) the device only powers up every two days.

Once identified a wall that had at least 1h of direct sun exposure a day, I was convinced of the viability of the idea. Right now, the device has continued operating as expected for the past 6 weeks, the battery level varying between ~40% and 99%.

Future Developments

Energized by the success of the experiment, I am now considering a v2 that would be closer to the original idea of a device that could potentially “live” many years without maintenance. The weak spot of the current setup is clearly the Lipo battery, which will start to degrade seriously after roughly 300 cycles. Because of that, I’m looking into replacing the battery part of the setup with capacitors which would power the frame for the time required to refresh the image once they reach full load. That would really make the project Solarpunk.

I’m also thinking about ways to make the frame look nicer. I’d like to find a vendor who could help me design a one-piece solar panel that would go all around the frame, which should decrease complexity and increase efficiency. It would also be nice if the panel was black, so as to nicely tie together the white of the mat and the grayscale of the image.

I love the quality of ePaper. Hard to believe this is just 16 colors.

Conclusions

I am curious to know if this is an object other people would be interested in building or buying. While the primary motivator for this project was for me to build something I wanted and get some learning in the process, I wonder if other people would enjoy a gadget like this in their homes. It definitely wouldn’t be very cheap – the retail price of the screen alone is $150, even considering wholesale dynamics I can’t imagine the total cost of this easily going below $200. But I also think that the value of our personal stories is far too important to attach a price tag to it.

If you are interested in contributing to this project or would be interested in having one yourself, reach out to me!

5 thoughts on “I made an ePaper, solar-powered digital photo frame, or: the call for Solarpunk

  1. Fantastic idea!
    Hve you considered something like esp8266 for low consumption?
    I’m one of the creator of an Italian pocdast on technology and hacking https://www.geekcooki.es/ and we have an active telegram group that would love to hear about this projects, let me know if you are interested. I’m @mariodamore on telegram.
    Bye! Mario

  2. I would love to work with you to find develop a frame that harvests light or other electric magnetic “unused wifi” sources of power.

  3. This is awesome. It would definitely something I would be interested in building. Do you think it’s possible to find enough energy from as little as florescent tube lighting, maybe a refresh every week or so? I think a mystery picture frame in the office would be fun, even if it’s off of storage vs server.

  4. Hey Giacomo

    Congratulations for this beautiful piece of art & engineering
    This is potentially the next must-have gadget
    It is astonishing, I love it ! (and everybody should)

    A big hug
    Javi

Leave a Reply

Your email address will not be published. Required fields are marked *

Name *