IOS-MoonLamp
mkhairyx·iOS-MoonLamp·source/KiCad - PCB/iOS_MoonLamp/iOS_MoonLamp.kicad_pcb
About the IOS-MoonLamp PCB
IOS-MoonLamp is an open source ESP32 PCB design by mkhairyx, published on GitHub. It is a 2-layer board measuring 60 × 60 mm, with 33 components from 21 distinct parts.
Its main chip is the ESP32-WROOM-32, from the ESP32 family. Other key parts include the AMS1117-3.3, CP2102N-AXX-XQFN28 and PC817. By type, the board carries 11 capacitors, 10 resistors, 5 ICs, 3 switches, 3 diodes and 1 connector.
It belongs with the iot & wireless designs in this gallery.
From the project
A Moon Lamp based on an ESP32 controlled using the iOS Home app.
Bought a battery powered Moon lamp a few years ago, and it was cool back then but now it’s boring that I have to turn it on and off manually every night. So I removed the insides of it and made it powered with an ESP32 controlled by the iOS Home app.
https://github.com/user-attachments/assets/3fa87b10-48f1-4240-b7dd-df9781dbfde8
[^cli]: Check the The HomeSpan Command-Line Interface (CLI) to be able to use the device's CLI through the onboard USB-C port.

Main components on the IOS-MoonLamp
IOS-MoonLamp bill of materials (BOM)
33 components, 21 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | AMS1117-3.3 | SOT-223-3_TabPin2 | U1 |
| 1 | CP2102N-AXX-XQFN28 CP2102N-Axx-xQFN28 | QFN-28-1EP_5x5mm_P0.5mm_EP3.35x3.35mm | U2 |
| 1 | ESP32-WROOM-32 | ESP32-WROOM-32 | U3 |
| 1 | PC817 | DIP-4_W7.62mm | U4 |
| 1 | ~ | Untitled | U5 |
| 1 | USB_C_RECEPTACLE_USB2.0_16P USB_C_Receptacle_USB2.0_16P | USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
| 1 | (BOOT) | SW_Tactile_SPST_Angled_PTS645Vx58-2LFS | SW1 |
| 1 | (EN) | SW_Tactile_SPST_Angled_PTS645Vx58-2LFS | SW2 |
| 1 | (CTRL) | SW_PUSH_6mm_H13mm | SW3 |
| 1 | WS2812B | LED_D5.0mm-4_RGB_Wide_Pins | D1 |
| 1 | RED LED | LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D2 |
| 1 | BLUE LED | LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D3 |
| 3 | 22uF/10V(20%) | C_1210_3225Metric_Pad1.33x2.70mm_HandSolder | C1, C2, C5 |
| 7 | 0.1uF/50V(10%) | C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C3, C6, C7, C8, C9, C10, C11 |
| 1 | 4.7uF/6.3V(10%) | C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C4 |
| 2 | 5.1K 5.1k | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R2 |
| 3 | 2k | R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3, R6, R10 |
| 1 | 22K(5%) | R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4 |
| 1 | 47K | R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R5 |
| 2 | 10K | R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7, R8 |
Show 1 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | 220 | R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R9 |
IOS-MoonLamp design files
The KiCad project lives in the mkhairyx/iOS-MoonLamp repository on GitHub; these links point at the commit this page was built from.
IOS-MoonLamp: common questions
What microcontroller does the IOS-MoonLamp use?
The IOS-MoonLamp is built around the ESP32-WROOM-32, from the ESP32 family.
How big is the IOS-MoonLamp PCB?
The IOS-MoonLamp measures 60 × 60 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the IOS-MoonLamp?
33 components, from 21 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the IOS-MoonLamp design files?
From the mkhairyx/iOS-MoonLamp repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the IOS-MoonLamp design in my own project?
The repository has no license, so all rights stay with mkhairyx. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the IOS-MoonLamp without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug ESP32 firmware against it before you order a PCB.
Similar boards
ESP32
Open Book Abridged Edition
joeycastillo
85 × 115 mm65 parts2LCC-BY-SA-4.08.1kESP32
Badge
atopile
56.3 × 39 mm239 parts4LMIT4.0kESP32
Esp32 minimal
atopile
36.2 × 26.8 mm20 parts2LMIT4.0kESP32
Racer
StuckAtPrototype
36 × 50.2 mm70 parts4LApache-2.03.8kESP32
Controller
StuckAtPrototype
29 × 74 mm58 parts4LApache-2.03.8kESP32
Bitaxe
skot
56.5 × 99.8 mm86 parts4LCERN-OHL-S-2.01.4k