Build an internet-connected Moon Phase clock displaying the current moon cycle on a 3D printed topographical relief of the lunar surface!
Powered by CircuitPython, this clock runs on a QT Py ESP32-S2 with a diffused, high density NeoPixel LED strip.Â
The NeoPixel strip cycles to show the new moon, waxing crescent, first quarter, waxing gibbous, full moon, waning gibbous, third quarter, and waning crescent.
This project uses the FarmSense API to get the phase of the moon and Adafruit IO to get the Unix timestamp. A request is made every 6 hours (tracked with ticks) to Adafruit IO and the API.
This project is inspired by the Moon Lamp project, originally posted by Martin Kozak





To have the moon semi-transparent, the following white PLA filament was used. The black PLA is generic.
Page last edited April 08, 2025
Text editor powered by tinymce.