

Xmas tree
Charlieplexed RGB Christmas Tree
- Size
- 43.9 × 54.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 27
- Nets
- 24
- Pads
- 101
- Tracks, vias
- 449, 39
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 2 Jan 2026
- Updated
- 2 Jan 2026
Overview
Xmas tree is an open-source printed circuit board by BogdanTheGeek, from the BogdanTheGeek/xmas-tree repository on GitHub, published under the MIT licence. It is a 2-layer board of 43.9 × 54.1 mm with 27 parts on 24 nets, routed with 449 tracks and 39 vias.
It is built around the CH32V003A4M6, XL-B1212RGBA-HF and AO3400A, with the CM3225T-801 and MBR1020VL among its other parts. Its parts include 12 ICs, 4 capacitors, 4 resistors, 3 connectors and 1 diode. It belongs with the RISC-V boards of this library.
Main components
5CH32V003A4M6
SOP-16SOP-16 Microcontrollers (MCU/MPU/SOC) ROHSWCH (Nanjing Qinheng Microelectronics)Microcontrollers (MCU/MPU/SOC)XL-B1212RGBA-HF
SMD-4P,1.2x1.2mmRGB LEDsXINGLIGHTAO3400A
SOT-23-55℃~+150℃ 1 N-channel 1.45V 1.4W 30V 48mΩ@2.5V 5.7A 50pF 630pF 75pF 7nC@10V N-Channel SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETsCM3225T-801
SMD-6P,3.3x2.5mmSMD-6P,3.3x2.5mm Common Mode Filters ROHSCND-tekCommon Mode FiltersMBR1020VL
SOD-123F-55℃~+125℃ 1 Independent 1A 20V 340mV@1A 45A 600uA@20V SOD-123F Schottky Diodes ROHSonsemiSchottky Diodes
README
README.mdChristmas Tree RGB Bauble
A while ago I ordered a rell of 1k 1.2x1.2mm RGB LEDs for $0.002 each and I wanted to use them for something. The circuit has provisions for a very small SEPIC converter that could be used as a constant current charging source for a built in battery.
I didn't get a chance to port my code from my cheap power supply project, but the bauble ended up very nice.
This was my first time programming charlieplexed animations so the code may not be efficient, but it's quite nice to work with I think.
This design was optimised solely to be easy to make on my CNC mill and etch with my home setup, which is why it's in a frame.
Demo
Parts
27| Qty | Value | Footprint | References |
|---|---|---|---|
| 11 | XL-B1212RGBA-HF | easyeda2kicad:LED-SMD_4P-L1.2-W1.2_BR | U2, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13 |
| 3 | 10k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R2, R4 |
| 3 | 10u | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C3, C4, C7 |
| 1 | 1 | Resistor_SMD:R_1210_3225Metric_Pad1.30x2.65mm_HandSolder | R3 |
| 1 | 100n | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1 |
| 1 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | CH32V003A4M6 | Package_SO:SO-16_3.9x9.9mm_P1.27mm | U1 |
| 1 | CM3225T-801 | Inductor_SMD:L_CommonModeChoke_TDK_ACM2520-3P | L1 |
| 1 | Conn_01x02 | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J3 |
| 1 | MBR1020VL | Diode_SMD:D_SOD-123F | D1 |
| 1 | PROG | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J2 |
| 1 | SolderJumper_3_Open | Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | USB_B_Mini | Connector_USB:USB_Mini-B_Lumberg_2486_01_Horizontal | J1 |
Similar boards
- 2 layers34.5 × 24 mm

- 2 layers25 × 23.9 mm

Rpi camera led
mithro/rpi-camera-led
Interposer for the Raspberry Pi camera flex cable: passes the 15-way CSI bus straight through and adds I2C-controlled camera GPIO, PWM illumination LEDs and an ambient light sensor, driven by a CH32V003.
24 parts1Apache-2.0 - 2 layers213.7 × 144.8 mm

UV Curing Box
koko69420/UV-Curing-Box
UV PCB resin curing box controller using WCH CH32V003 RISC-V MCU, 4x4 keypad, TM1637 display, and KiCad PCB
151 parts - 2 layers45 × 49.8 mm

CCCCPPPS MkI
BogdanTheGeek/CCCCPPPS
Cheap Crappy Constant Current Portable Programmable Power Supply
26 parts12MIT - 4 layers

SUNNY C1-HEAD
RSXLX/sunny-the-growing-sunflower-lamp
SUNNY — The Growing Sunflower Lamp | A personal lamp with customizable exteriors, traceable fabrication, and a local creative workspace.
55 parts - 2 layers48 × 36.5 mm

Osillyscope etchable
tvlad1234/osillyscope
Low cost, low part count CH32V003-based oscilloscope
31 parts30MIT - 2 layers24.1 × 21.6 mm

Ch32v003a4m6-breakout
mverdon/ch32v003a4m6-breakout
Breakout board for prototyping with the CH32V003 MCU
4 partsCERN-OHL-P-2.0 - 2 layers19 × 36.8 mm

Questions
How big is the Xmas tree PCB?
It measures 43.9 × 54.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Xmas tree use?
27 parts, built around the CH32V003A4M6, XL-B1212RGBA-HF, AO3400A and CM3225T-801. 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 Xmas tree KiCad files?
From the BogdanTheGeek/xmas-tree repository on GitHub, at the commit this page was made from: the board is xmas-tree/xmas-tree.kicad_pcb and its schematic xmas-tree/xmas-tree.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Xmas tree design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).