Skip to the content
PCBKitNew board
2 layers53.9 × 62.6 mmMoon light, the printed circuit board in 3D

Luna, the night-light moon: A sleepy moon that turns on at dusk and tucks itself in after you fall asleep. KiCad 10, heypcb.ai merch.

Size
53.9 × 62.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
36
Nets
39
Pads
112
Tracks, vias
240, 13
Pours
6
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
5 Oct 2026
Updated
5 Oct 2026

Overview

Moon light is an open-source printed circuit board by HeyPCB, from the HeyPCB/moon-light repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 2-layer board of 53.9 × 62.6 mm with 36 parts on 39 nets, routed with 240 tracks and 13 vias.

It is built around the CH32V003F4P6, APDS-9306-065 and XC6206P332MR-G, with the XL-1608UOC-06, CC0603KRX7R9BB104 and CL21A106KAYNNNE among its other parts. Its parts include 14 resistors, 8 diodes, 5 capacitors, 3 ICs and 1 transistor. It belongs with the RISC-V boards of this library.

Main components

8

README

README.md

Luna, the night-light moon

A sleepy moon that turns on at dusk and tucks itself in after you fall asleep.

Luna, the night-light moon, raytraced in KiCad

Luna is a crescent-moon night light on USB-C. An APDS-9306 ambient light sensor tells a CH32V003 when the room has gone dark; eight orange LEDs along the moon's inner curve then fade up to a candle-coloured glow, and fade out again after a 15, 45 or 90 minute sleep timer. It stays off until the room sees daylight. Pat its gold cheek to switch it by hand; hang it on a nail by its keyhole.

LayersSizePartsNetsConnections routedViasERC errorsDRC errors / unconnected / parityBOM @100
254.0 x 62.7 mm32 (+4 pads)2267 -> 0 open1300 / 0 / 0$1.43

Not fabricated, assembled or powered yet. Every number on this page is measured by KiCad 10.0.6 on the files in this repository (report.json, measured.json) or read from the live JLC/LCSC catalogue (bom_cost.json).

Spec, power budget, BOMSPEC.md
Store copySTORE_COPY.md
KiCad 10 projectkicad/
Gerbers, drill, BOM, CPL, STEP, schematic PDFfab/
Firmwarefirmware/
Rendersfront, back, hero, Circuit World thumbnail
Brief and generatordesign/

front back

What's on it

  • Glow: 8 XL-1608UOC orange (605 nm) LEDs, each with its own 220 Ohm from 5 V, switched together by an AO3400A on TIM1 CH4 at 1 kHz.
  • Light sensor: Broadcom APDS-9306-065 at I2C 0x52, 3.3 V, bit-banged I2C with 10k pull-ups.
  • MCU: CH32V003F4P6 at 3.3 V from an XC6206 LDO (JLC Basic).
  • Touch: a 4 mm ENIG cheek pad through 1 kOhm, read by ch32fun's ADC touch.
  • Mounting: a keyhole cutout near the centre of mass; USB-C out of the bottom.
  • Power: USB-C, about 0.2 W while glowing (SPEC.md).

Finish

Blue solder mask, White silkscreen, ENIG copper finish, 1.6 mm FR4, top-side SMT assembly (J1: an SMD part whose shell legs go through plated holes, soldered on the same SMT line). The gold art is bare copper under a mask opening (ENIG), drawn with its own keep-out so no track runs under it. The QR code on the back opens https://heypcb.ai/world/b/e2974968006f.

How it was made

Designed with the HeyPCB method on KiCad 10.0.6, headless, by the heypcb-kicad pipeline: a written brief composed from reusable circuit blocks, every pin from KiCad's own symbol library, every part bound to an LCSC number from a dated catalogue read, then ERC, a netlist round trip, locked placement, Freerouting 2.4.1, pours, silkscreen and board art, DRC with schematic parity, DFM and a fab gate, each stage gated by a measurement. design/make_brief.py regenerates the brief (outline, part locks and art) from code.

Part of the heypcb.ai merch collection.

License

Hardware: CERN-OHL-S v2. Firmware: MIT (see firmware/LICENSE). KiCad's symbol, footprint and 3D libraries used in the design are CC-BY-SA 4.0 with the KiCad library exception.

Parts

36
QtyValueFootprintReferences
8220Resistor_SMD:R_0603_1608MetricR7, R8, R9, R10, R11, R12, R13, R14
8OrangeLED_SMD:LED_0603_1608MetricD1, D2, D3, D4, D5, D6, D7, D8
210kResistor_SMD:R_0402_1005MetricR3, R4
21uFCapacitor_SMD:C_0603_1608MetricC2, C3
25.1kResistor_SMD:R_0402_1005MetricR1, R2
1100kResistor_SMD:R_0603_1608MetricR6
1100nFCapacitor_SMD:C_0603_1608MetricC4
110uFCapacitor_SMD:C_0805_2012MetricC1
11kResistor_SMD:R_0603_1608MetricR5
11uFCapacitor_SMD:C_0402_1005MetricC5
1AO3400APackage_TO_SOT_SMD:SOT-23Q1
1APDS-9306-065OptoDevice:Broadcom_DFN-6_2x2mm_P0.65mmU3
1CH32V003F4P6Package_SO:TSSOP-20_4.4x6.5mm_P0.65mmU2
1GNDTestPoint:TestPoint_Pad_1.0x1.0mmTP3
1SWIOTestPoint:TestPoint_Pad_1.0x1.0mmTP2
1TOUCHTestPoint:TestPoint_Pad_D4.0mmTP4
1USB-CConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1
1VDDTestPoint:TestPoint_Pad_1.0x1.0mmTP1
1XC6206P332MRPackage_TO_SOT_SMD:SOT-23-3U1

Questions

How big is the Moon light PCB?

It measures 53.9 × 62.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Moon light use?

36 parts, built around the CH32V003F4P6, APDS-9306-065, XC6206P332MR-G and XL-1608UOC-06. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Moon light KiCad files?

From the HeyPCB/moon-light repository on GitHub, at the commit this page was made from: the board is kicad/moon_light.kicad_pcb and its schematic kicad/moon_light.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Moon light design in my own project?

Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers101 × 51.5 mmQuack core, the printed circuit board in 3D

    Quack core

    HeyPCB/quack-core

    Brain board for the Open Duck Mini: Pi Zero 2W carrier, 14-servo STS bus, fused 2S power path in stitched copper zones (15-18 A battery side), USB-C charging with balancing, IMU.

    138 parts1CERN-OHL-S-2.0
  • 4 layers64.6 × 55.2 mmWhisker, the printed circuit board in 3D

    Whisker

    HeyPCB/whisker

    Drop-in controller for Petoi's Nybble robot cat running the stock OpenCat firmware: ATmega328P, PCA9685, MPU-6050, USB-C, 3 A buck, protected battery input. 4-layer KiCad 10 board plus printed cradle.

    118 partsCERN-OHL-S-2.0
  • 2 layers80 × 125.3 mmPhone robot, the printed circuit board in 3D

    Phone robot

    HeyPCB/phone-robot

    Bolt, the phone stand robot: A little robot that holds your phone, charges it, and peeks over the top to tell you how it's eating. KiCad 10, heypcb.ai merch.

    35 partsCERN-OHL-S-2.0
  • 6 layers80 × 60 mmIce core, the printed circuit board in 3D

    Ice core

    enkhbold470/ice-core

    iCE40UP5K FPGA board with 8 MB PSRAM and three Pmods, programmed over USB-C by an RP2040. 6-layer KiCad 10 board.

    78 partsCERN-OHL-S-2.0
  • 4 layers90 × 66 mmIron node, the printed circuit board in 3D

    Iron node

    enkhbold470/iron-node

    ESP32-S3 industrial gateway: W5500 Ethernet, isolated RS-485 (ADM2587E), CAN, 9-36 V input. 4-layer KiCad 10 board.

    83 partsCERN-OHL-S-2.0
  • 2 layers50.6 × 62.2 mmAir ghost, the printed circuit board in 3D

    Air ghost

    HeyPCB/air-ghost

    Air Ghost: A little ghost that blushes red when your room needs fresh air. KiCad 10, heypcb.ai merch.

    19 partsCERN-OHL-S-2.0
  • 2 layers69.6 × 66.4 mmPomodoro pal, the printed circuit board in 3D

    Pomodoro pal

    HeyPCB/pomodoro-pal

    Pomodoro Pal: A tomato on your desk that keeps you focused for 25 minutes, without your phone. KiCad 10, heypcb.ai merch.

    41 partsCERN-OHL-S-2.0
  • 4 layers128 × 51.4 mmQuack face, the printed circuit board in 3D

    Quack face

    HeyPCB/quack-face

    Face board for the Open Duck Mini's head: eye LEDs, projector driver, I2S amp and mic, antenna servos, shaped to the head. 4-layer KiCad 10 board plus printed standoffs, fit-checked in the head CAD.

    55 partsCERN-OHL-S-2.0