Skip to the content
2 layers20.4 × 28.5 mmRGB Lamp, the printed circuit board in 3D

Custom RGB Lamp

Size
20.4 × 28.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
44
Pads
109
Tracks, vias
207, 24
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
10 Oct 2026
Updated
1 Nov 2026

Overview

RGB Lamp is an open-source printed circuit board by F9Motion, from the F9Motion/RGB-Lamp repository on GitHub. It is a 2-layer board of 20.4 × 28.5 mm with 16 parts on 44 nets, routed with 207 tracks and 24 vias.

It is built around the ESP32-C3-DEVKITM-1, MT3608 and WS2812B. Its parts include 4 resistors, 4 ICs, 4 diodes, 2 switches and 1 connector. It belongs with the lEDs and displays boards and the ESP32 and RISC-V boards of this library.

Main components

3

README

README.md

RGB Lamp

A cylindrical frosted-glass mood lamp with 4 addressable RGB LEDs, a small OLED screen and two buttons. It has 14 color modes, adjustable brightness and a smooth fade on/off. The whole thing sits on a custom round PCB and is powered over USB-C. FINAL

Why I made this

I find RGB Lamp like this in marketplace and take idea :D

Features

  • 14 modes: Rainbow, Aqua, Heart, White, Warm Yellow, Orange, Red, Neon, Purple, Blue, Green, Lime, Indigo, Soft Peach
  • Brightness from 10% to 100% in steps of 10%
  • Smooth fade in and fade out when turning on and off
  • Breathing animation mode
  • OLED screen with a boot animation that turns off after 15 seconds of inactivity
  • Settings (mode and brightness) are saved and restored after power loss
  • Custom round PCB designed in KiCad
  • USB-C powered

Pictures

Full 3D model

FINAL

PCB

Снимок экрана 2026-10-10 174252

How it works

The ESP32 runs MicroPython firmware that drives 4 addressable LEDs through a single data pin. Two tactile buttons control modes and brightness, and an SSD1306-compatible OLED on the I2C bus shows the status. The glass diffuser spreads the light from the LEDs into one even glow.

FunctionGPIO
LED data2
Button 14
Button 25
OLED SDA8
OLED SCL9

Controls

ActionResult
Button 1: hold for 2 secondsTurn the lamp on / off (fade)
Button 1: short pressNext mode
Button 1: double pressBrightness +10%
Button 2: short pressPrevious mode
Button 2: quick repeated pressBrightness −10%

How to assemble

  1. Order the PCB. Use the Gerber files from the /pcb folder (KiCad project: RGB_LAMP.kicad_pro).
  2. Print the parts. Print bottom.step, top.step and pushes.step from the /cad folder. Suggested settings: PLA, 0.2 mm layer height, [15%] infill. The glass.step part is the diffuser: print it in white/translucent filament or use a frosted tube [choose one].
  3. Solder the PCB. Solder the SMD parts first (resistors, LEDs, small ICs, USB-C), then the through-hole parts (ESP32 module, buttons, connector).
  4. Connect the OLED. Solder the OLED display to the 4-pin header on the edge of the PCB (VCC, GND, SDA, SCL).
  5. Flash the firmware (see the next section) and test the lamp before closing it.
  6. Install the PCB into the bottom part. The two buttons should line up with the holes in the base, and the OLED with the rectangular window.
  7. Insert the button caps (pushes) into the holes.
  8. Close the lamp. Place the glass diffuser on the base and fit the top cap.

How to flash

  1. Install Thonny.
  2. Flash MicroPython to the ESP32 (Thonny: Tools → Options → Interpreter → Install or update MicroPython).
  3. Open firmware/firmware.py in Thonny.
  4. Save it to the board as main.py (File → Save as → MicroPython device).
  5. Restart the board. The OLED shows a loading bar and the lamp is ready.

Bill of Materials (BOM)

Object nameCostLink
Baterry$9.16https://aliexpress.ru/item/1005008218024646.html?spm=a2g2w.cart.cart_split.2.17184aa6sdf0tM&sku_id=12000044269020504
Capisitor 1$1.72https://aliexpress.ru/item/1005008523091680.html?spm=a2g2w.cart.cart_split.4.17184aa6sdf0tM&sku_id=12000045550598782
Capisator 2$2.13https://aliexpress.ru/item/1005008523091680.html?spm=a2g2w.cart.cart_split.5.17184aa6sdf0tM&sku_id=12000045550598821
Rezistors 1$2.13https://aliexpress.ru/item/1005008523091680.html?spm=a2g2w.cart.cart_split.5.17184aa6sdf0tM&sku_id=12000045550598821
Rezistors 2$1.32https://aliexpress.ru/item/1005010124491295.html?spm=a2g2w.cart.cart_split.8.17184aa6sdf0tM&sku_id=12000051226894950
Rezistors 3$1.32https://aliexpress.ru/item/1005010124491295.html?spm=a2g2w.cart.cart_split.9.17184aa6sdf0tM&sku_id=12000051226894989
Type- C$1.98https://aliexpress.ru/item/1005009725016771.html?spm=a2g2w.cart.cart_split.11.17184aa6sdf0tM&sku_id=12000049959236831
Inductor$1.79https://aliexpress.ru/item/1005010057784411.html?spm=a2g2w.cart.cart_split.13.17184aa6sdf0tM&sku_id=12000050979456491
MT3608$1.40https://aliexpress.ru/item/1005008595377934.html?spm=a2g2w.cart.cart_split.15.17184aa6sdf0tM&sku_id=12000045882365662
Diode$1.22https://aliexpress.ru/item/4000331408791.html?spm=a2g2w.cart.cart_split.17.17184aa6sdf0tM&sku_id=10000001361365766
Display$1.78https://aliexpress.ru/item/1005011610851521.html?spm=a2g2w.cart.cart_split.19.17184aa6sdf0tM&sku_id=12000056053164321
Pushes$0.68https://aliexpress.ru/item/1005006046180384.html?spm=a2g2w.cart.cart_split.21.17184aa6sdf0tM&sku_id=12000035472972531
RGB Diodes$1.82https://aliexpress.ru/item/1005002055349908.html?spm=a2g2w.cart.cart_split.23.17184aa6sdf0tM&sku_id=12000034806960293
MCP73831T-2ACI$1.09https://aliexpress.ru/item/1005003129269009.html?spm=a2g2w.cart.cart_split.25.17184aa6sdf0tM&sku_id=12000024251863101
ESP32$4.28https://aliexpress.ru/item/1005005046672312.html?spm=a2g2w.cart.cart_split.27.17184aa6sdf0tM&sku_id=12000034261565598
Print PCB$13
top.step$0.37
bottom.step$0.53
glass.step$0.7
pushes.step$0.01

Credits

  • CAD: Blender, PCB: KiCad
  • Everything else (design, PCB, firmware): Rasul

Parts

16
QtyValueFootprintReferences
4R_SmallResistor_SMD:R_0805_2012MetricR1, R2, R3, R4
4WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD1, D2, D3, D4
2SW_PushButton_Switch_THT:SW_PUSH_6mmSW1, SW2
1Battery_CellConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalBT1
1ER_OLEDM0.91_1x-I2CDisplay:ER_OLEDM0.91_1x-I2CU1
1ESP32-C3-DevKitM-1RF_Module:ESP32-C3-DevKitM-1U2
1MCP73831-2-MCPackage_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.7x1.4mmU3
1MT3608Package_TO_SOT_SMD:SOT-23-6U4
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_HCTL_HC-TYPE-C-16P-01AJ1

Similar boards

  • 2 layers52.6 × 52.6 mmElectronic shelving, the printed circuit board in 3D

    Electronic shelving

    F9Motion/Electrone-shelving

    A electronic shelving (1.8m) to put your other projects here. This is simple shelving called electronic because the shleving have a 8 RGB Lamps in top every shelf. You can just download materials and print/solder this :)

    21 parts
  • 2 layers308.7 × 241.8 mmOTTOtact, the printed circuit board in 3D

    OTTOtact

    cester-ino/OTTO-hardware

    those specs refer to the tactile buttons version, but a led backlight button version is in the works too.

    229 parts49GPL-3.0
  • 2 layers79.2 × 68.8 mmEnvironment slave, the printed circuit board in 3D

    Environment slave

    pcbcupid/Lora-Wireless-Sensor-Network

    A wireless sensor network based on Lora and esp32C3. This repo will help you build a complete product from scratch to finish!

    72 parts30MIT
  • 4 layers102 × 100 mmZelvicka, the printed circuit board in 3D

    Zelvicka

    RoboticsBrno/Robutek

    Robůtek je robotická platforma založená na čipu ESP32-S3. Je velice rozšitiřelný, ale ze základu umí jezdit, kreslit fixou, jezdit po čáře, pohybovat se bludištěm. Programování je přes Jaculus.

    214 parts12
  • 4 layers108.6 × 87.7 mmBlinky badge light, the printed circuit board in 3D

    Blinky badge light

    rowr111/blinky-badge-light

    lighting badge with unique patterns and sound reactivity

    123 parts9MIT
  • 2 layers150 × 150 mmBoardGame, the printed circuit board in 3D

    BoardGame

    jkordek1/Man-Don-t-Get-Angry-Board-game

    "Man don't get mad" - electronic board game

    218 parts5
  • 2 layers330 × 106 mmKeyboard68, the printed circuit board in 3D

    Keyboard68

    crohloff/keyboard68

    310 parts2GPL-3.0
  • 4 layers80 × 45.6 mmEsphome sound thermometer, the printed circuit board in 3D

    Esphome sound thermometer

    H3mul/esphome-sound-thermometer

    Quick project with an LED strip illuminating in response to sound volume changes

    26 parts1MIT

Questions

How big is the RGB Lamp PCB?

It measures 20.4 × 28.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the RGB Lamp use?

16 parts, built around the ESP32-C3-DEVKITM-1, MT3608 and WS2812B. 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 RGB Lamp KiCad files?

From the F9Motion/RGB-Lamp repository on GitHub, at the commit this page was made from: the board is Kicad and blend file/RGB LAMP/RGB LAMP.kicad_pcb and its schematic Kicad and blend file/RGB LAMP/RGB LAMP.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the RGB Lamp design in my own project?

Its repository states no licence, so its author keeps all rights: ask F9Motion before reusing the design.