We use some essential cookies to make our website work.

We use optional cookies, as detailed in our cookie policy, to remember your settings and understand how you use our website.

Moon-Pi: an e-paper lunar cycle display

Moon-Pi displays today’s moon phase and a random moon-related quotation on an e-paper display. A Raspberry Pi Zero W hidden in the frame runs the show.

Moon-Pi E Ink lunar display hero image

Maker Billy Dent had been wanting to make his wife a Raspberry Pi-powered gift for a while now, so when Mother’s Day rolled around, he thought of combining her love of the moon with a slice of Pi.

Hardware

Moon-Pi E Ink lunar display inside look at hardware
All the hardware inside the frame before the screen and backplate are added

You can use any Pi you like. It doesn’t need to be powerful and it doesn’t need to be Wi-Fi ready, as all the data is stored on the SD card — Billy just likes working with the Zero W.

Remember to drill ventilation holes in the backboard of whichever frame you use, or your hardware will get sweaty. You can make a hole for the USB recharging cable at the same time.

Moon-Pi E Ink lunar display reverse view
The backplate with ventilation and USB holes drilled

How does it work?

The PiJuice powers up the Raspberry Pi Zero W daily at 1.30am and it only needs to run briefly to update the display for the day ahead. All the lunar cycle data and quotations are stored on the SD card, avoiding the need for an internet connection. A Python script runs automatically at boot and looks up the date. Then it finds out today’s moon phase and grabs the image file titled with today’s date. Next, a moon-related quotation is selected at random, and this text, along with the image of the moon in its current phase, is thrown up onto the e-paper display. Once it has done its job for the day, it shuts itself down, leaving everything on screen for Billy’s wife to find when she gets to her desk. How efficient.

Moon-Pi E Ink lunar display gift box and manual
Billy also made a gift box and an owner’s manual <3

Billy has shared all the code and a step-by-step build guide on Github.

First-timer

This build is Billy’s first ever project post in the raspberry_pi subreddit. This is a) a laudable milestone, and b) a good time to mention that that subreddit isn’t ours — it’s fan-run, without any involvement from Raspberry Pi. We do love finding super projects like this one over there – it can be a real trove of cool ideas and builds.

6 comments

cheapy avatar

Nice, but the components are expensive. Could buy an old laptop/chromebook for that sum and show the same images plus video.

Ashley Whittaker avatar

I think this one was fashion over function seeing as it’s a special gift.

Conor Stewart avatar

One of the main points of this is that it can run for a long time before needing charged, hence the use of an epaper display and only waking the pi up once a day.

Yes you could buy an old laptop or Chromebook but it uses a lot more power and needs recharged much more frequency. A standard display always uses power when it is on, an e paper display only uses power to update the screen so uses much less power and is the reason that e readers and even price tags in shops now use e paper displays, when the image doesn’t change it doesn’t use any power and the display doesn’t emit any light, both of which make it ideal for something like this.

DavidE avatar

Well said. This is a great project (& gift).

Cristian avatar

Hi, I’ve been attempting this project since October but when trying to run it, I have experienced several issues, including the ELF class error. Apparently, the waveshare libraries only support 64-bit architecture whereas the zero w is only made for 32-bit. Is there a way to get in contact with the original maker so he can give me some pointers and help me debug my issues? I’ve been having this issue since October. Any help would be greatly appreciated, thanks :)

Toby Roberts avatar

Hi Cristian.
We haven’t tried this project ourselves as we don’t have the hardware, so we can’t debug your issue I’m afraid. You could try contacting Billy via reddit to see if he can help? –
https://www.reddit.com/r/raspberry_pi/comments/13mtcbd/custom_moon_calendar_with_epaper_and_raspi/

Comments are closed