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 US Navy Moon Phase API to get the phase of the moon and Adafruit IO to get the ISO 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 October 16, 2025
Text editor powered by tinymce.