Despite the website being about solar 🙂 Today I write about the moon. The recent moon game doodle by google got me further intrigued by the magic of moon phases on earth. Moon doodle
Coincidentally, there was an article in make magazine which used PCB(Printed circuit board) and moon like arrangement of LEDs specifically to indicate the moon phases, there are a lot of software apps that track this type of information on the web but few on hardware…Having a moon calendar, indicating full and no moon every month seemed cool.
The project captures a way to display major phases of the moon – like a full moon(poornima), no moon(amavasya), 1st quarter and last quarter. It also has an option to manually add period data. The thought of gifting this project primarily to my daughter and wife made this interesting
I also wanted to check the pricing of hardware manufacturing in 2024/2025 sourced to India, so I got working on this project
The Project in pictures


Lets go over the layout of the LEDs in moon pattern. As you can see on the hardware, there are 30 circular – moon like arrangement of LEDs
6 moons on each row and – 5 rows in total – making 6×5 = 30 days to represent moon phases
Each circular pattern of LEDs from the top left represents a day in the calendar, so each row represents – 6 days going from top left to right and then subsequent bottom
Bright blue colour is being used to represent the full moon, 1st and and last quarter. Light blue represents new moon and reddish pink colour represent dates matching with the menstrual cycle
In the above example month – 2nd day of the month is new moon; 17th day of the month is full moon; 10th day is 1st quarter and 24th day is the last quarter; Menstrual cycle dates are highlighted in reddish pink colour
Hardware build
Thanks to the detailed walkthrough – by @artur0182 and Anuradha Reddy, it was a breeze to order PCB and components from an online PCB vendor- this was a four layer board, designed in KICAD – open source PCB software. The PCB was primarily comprised of about 250 RGB LEDs and 500 Capacitors surface mount type.
I ordered the brains of the project in the form of an RP2040 stamp and a carrier from solderparty which came in from Sweden
The components and PCB arrived in under 2 weeks and I started inspecting for scope for hand soldering the components. The thought of hand-soldering for 250 LEDs and 500 capacitor, despite being tedious and the risk of looking slightly unprofessional output, is extremely cost effective. Its an added plus if you enjoy this as a hobby 🙂
However on close inspection of the boards, the PCB pads for soldering was just enough to accommodate the terminals of the LEDs and components. Tried to solder a few LEDs with my trusty not so professional soldering rod, my soldering did not inspire confidence on the electrical contact. So I started to look for local professional assembling service – inclined towards automated assembly. Part of the reason I wanted to check the pricing for automated assembly
It took almost a month for an automated assembled board to work- primarily due to the requirement of framed stencils for assembly and slight issues in the assembly process.
The build and code repository
The hardware design involved Kicad and code was based on Micropython. Following are the links to the repositories
https://github.com/arturo182/strange_leds_hw
https://github.com/anu1905/Islamic-Geometry
Powering through a 5 V supply – even PC USB port is enough to power the board – highlighting the low power requirements
Improvements to be thought
- Auto update full and new moon based on moon calendar of particular location
- Enhance the functionality to include period tracking with an easy to update interface- Currently this feature is available through circuit python -need an easier hardware interface for user friendly operation
- Modify the layout for DIY friendly soldering – this would meet the estimated cost mentioned in the magazine… Currently its considerably more due to automated assembly one time setup cost
- Create a 3D printed case to hang the moon tracker – meanwhile I came up with a DIY case made out of multiple cable ties surrounding the PCB to keep this out of playful hands of my kid 🙂
- this could be hung on a peg on the wall
- was kind of pleasantly surprised by how quick and robust was the solution – hung the solderparty RP20240 stamp adjacent the PCB with the cable tie as well – could be easily programmed by the laptop connected to this


Few Insights gained from the moon in general
Its amazing depending on your location on earth and day of the year, the Parts of the moon are lit and it changes ever so slightly every day throughout the month ..
The impact the Moon has on earth is quite evident with tides that we see in coastal areas with high and low tides…I also feel the phases of the moon have an effect on my body physiology.. I feel energetic on full moon days/ no moon days
From the google doodle, the phases of the moon have different names such as the Waning gibbous, waxing gibbous – At first I thought of them as some animal species names, but these are different phases of the moon 🙂
Do you know the lunar calender months vary from 28-30 days? Ancient calendars based their lives around cycles of the moon.. the 28 -30 day cycle – hence 6×5 =30 moons is sufficient to represent the phases in any given month
Also the same side of the moon faces the earth, the other side is not visible from the earth, the same side is lit gradually everyday. This is also known as tidal lock…observed in other moons of other planets in the solar system as well. The moon due to long being inorbit with the earth has become a bit elliptical instead of a perfect sphere. The center of rotation is lower than the geometric centre, thereby making same face of moon face the earth irrespective of the rotation
Hardware sourcing
Incase you would like to order – I do have the sourcing starting from PCB to automated assembly – all figured out in India and ready to be shipped, feel free to contact for more details
I would like to thank @artur0182 and anuradha reddy for the detailed flow which enabled quick prototype and build.
































