Skip to the content
PCBKitNew board
4 layers71 × 51.5 mmWLED Controller, the printed circuit board in 3D

Custom LED Bike Ring & Controller PCB

Size
71 × 51.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
69
Nets
86
Pads
328
Tracks, vias
520, 111
Pours
7
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Jan 2026
Updated
18 Jun 2026

Overview

WLED Controller is an open-source printed circuit board by GreatMesa, from the GreatMesa/Bike-Led-Controller repository on GitHub. It is a 4-layer board of 71 × 51.5 mm with 69 parts on 86 nets, routed with 520 tracks and 111 vias.

It is built around the ESP32-WROOM-32E, INA236AIDDFR and TPS566238RQFR, with the BMI270, SN74LVC2T45DCURE4 and USBLC6-2P6 among its other parts. Its parts include 21 resistors, 20 capacitors, 9 ICs, 3 transistors and 3 connectors. It belongs with the ESP32 boards of this library.

Main components

6

README

README.md

Bike LED Controller

This project is sponsored by JLCPCB

images

Introduction

The goal of this project is to add more customizability to bike lights. When I was looking though lights for my bike I found that there was a limited amount of colors and patterns I could use. I wanted to create lights and controllers so I could have a better understanding of what was going on in the controller in terms of current consumption and speed of the bike, things that also were not present in other controllers. In this project, I designed a custom bike ring + a custom led controller board so that I could have a greater level of control.

Custom LED Ring

For the ring, I decided to split the base and top of the ring into 8 seperate segments. This was due to the size of the ring being way to big for my bike & in terms of the print time & assembely ease, 8 segments seemed to do the best in those 2 categories.

For the bottom, in order to connect the segments together, I decided to designed them so they would have a insert slot + a segment that goes into it. For the top, I ended up coating it in a layer of FLEX-SEAL in order to act as a water reppelent + a diffusior once I sanded it down to a degree. Here is one fully assmebled ring in action:

LED Ring GIF

ezgif-7266f13484eda068

Custom LED Controller

For the LED contoller, I had multiple goals in mine. The main goal I had was the ability for the contoller to convert a higher voltage input to a stable 5V. To do this, I used the TPS566238RQFR buck converter to convert the input voltage (designed for 2S) into 5V. I also used a AMS1117 to convert the 5V supply into 3.3V for the digital IC's and the ESP32. Speaking of digital IC's, I used 5 in this design, a INA236 to meausre the voltage, current, & power output of the controller, a TMP117 to measure the tempature of the board / enclousre enviroment, a BMI270 to measure the speed of the bike for custom effects, a SN74LVC2T45DCUR to convert the ESP32's 3.3V logic into a usable 5V logic level for the LED, and last but not least the CP2102N to allow communication between the USB pherephial and the ESP32 via UART. Here are the schematics, PCB layouts, & the 3D view.

Schematic

Screenshot 2026-05-21 102934

PCB Layout

Screenshot 2026-05-21 111619

3D View

Screenshot 2026-05-21 093614

Parts

69
QtyValueFootprintReferences
9100nFCapacitor_SMD:C_0402_1005MetricC3, C10, C11, C15, C16, C17, C18, C20, C21
610kResistor_SMD:R_0402_1005MetricR1, R3, R11, R17, R19, R20
64.7kResistor_SMD:R_0402_1005MetricR12, R13, R14, R15, R18, R21
3NPNCustom-Footprints:SOT95P240X115-3NQ1, Q2, Q3
210uFCapacitor_SMD:C_0805_2012MetricC8, C9
222Resistor_SMD:R_0402_1005MetricR6, R7
222uFCapacitor_SMD:C_1206_3216MetricC1, C2
24.7uFCapacitor_SMD:C_0603_1608MetricC13, C19
247uFCapacitor_SMD:C_1210_3225MetricC4, C5
25.1kResistor_SMD:R_0402_1005MetricR8, R9
2Conn_01x03TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_HorizontalJ2, J4
10.01Resistor_SMD:R_2512_6332MetricR5
110kResistor_SMD:R_0603_1608MetricR16
110nFCapacitor_SMD:C_0402_1005MetricC7
110uFCapacitor_SMD:C_0603_1608MetricC22
11kResistor_SMD:R_0402_1005MetricR10
11uFCapacitor_SMD:C_0402_1005MetricC6
12.2uFInductor_SMD:L_Coilcraft_XAL6030-XXXL1
1220kResistor_SMD:R_0402_1005MetricR2
130kResistor_SMD:R_0402_1005MetricR4
1AP1117-33Package_TO_SOT_SMD:SOT-223-3_TabPin2U3
1BMI270Package_LGA:Bosch_LGA-14_3x2.5mm_P0.5mmIC5
1Boot SwitchButton_Switch_SMD:SW_SPST_TS-1088-xR025BOOT
1BuzzerCustom-Footprints:CMI97050380SMTTRBZ1
1CP2102N-Axx-xQFN28Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.35x3.35mmIC4
1D_SchottkyDiode_SMD:D_0603_1608MetricD5
1ESP32-WROOM-32ECustom-Footprints:ESP32-WROOM-32EU2
1Enable SwitchButton_Switch_SMD:SW_SPST_TS-1088-xR025EN
1INA236AIDDFRCustom-Footprints:SOP65P280X110-8NIC1
1LEDLED_SMD:LED_0603_1608MetricD2
1LOGOCustom-Footprints:feet picsG***
1M1MountingHole:MountingHole_3.2mm_M3_Pad_ViaH1
1M2MountingHole:MountingHole_3.2mm_M3_Pad_ViaH2
1M3MountingHole:MountingHole_3.2mm_M3_Pad_ViaH3
1M4MountingHole:MountingHole_3.2mm_M3_Pad_ViaH4
1SN74LVC2T45DCURPackage_SO:VSSOP-8_2.3x2mm_P0.5mmIC3
1TMP117xxDRVPackage_SON:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mmIC2
1TPS566238RQFRCustom-Footprints:TPS566238RQFRU1
1UARTConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalUART
1USBLC6-2P6Package_TO_SOT_SMD:SOT-666U4
1USB_C_Receptacle_USB2.0_14PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ3
1XT-60Connector_AMASS:AMASS_XT60-F_1x02_P7.20mm_VerticalBAT1

Questions

How big is the WLED Controller PCB?

It measures 71 × 51.5 mm and has 4 copper layers, 1.6 mm thick.

What parts does the WLED Controller use?

69 parts, built around the ESP32-WROOM-32E, INA236AIDDFR, TPS566238RQFR and BMI270. 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 WLED Controller KiCad files?

From the GreatMesa/Bike-Led-Controller repository on GitHub, at the commit this page was made from: the board is Hardware/WLED Controller.kicad_pcb and its schematic Hardware/Microcontroller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the WLED Controller design in my own project?

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

Similar boards

  • 2 layers169.5 × 83.5 mmGlowSignMainPCB, the printed circuit board in 3D

    GlowSignMainPCB

    LEDs-by-glowingkitty/GlowSign

    A battery powered LED sign for your laptop, or where ever else you want to use it!

    130 parts1GPL-3.0
  • 2 layers48.4 × 97.3 mmGlowTowerPCB, the printed circuit board in 3D

    GlowTowerPCB

    LEDs-by-glowingkitty/GlowTower

    A beautiful looking LED lamp for lighting up your home or setting the right mood at house parties - with animations that can react to music.

    57 parts9GPL-3.0
  • 2 layers30.6 × 37.4 mmGlowBandSmall, the printed circuit board in 3D

    GlowBandSmall

    LEDs-by-glowingkitty/GlowBand

    GlowBand is an exciting LED wristband. For dancing at parties and festivals, for long-time exposure photography, and for everyday situations that need some light.

    52 parts4MIT
  • 2 layers49.5 × 43.5 mmVoltage current monitor schematic, the printed circuit board in 3D

    Voltage current monitor schematic

    rsx-utoronto/RSX-CANSAT-2027

    This repository contains all files created by the Aerial Team of Robotics for Space eXploration (RSX) at the University of Toronto, supporting our entry in the 2027 CanSat Competition.

    13 parts5
  • 4 layers89 × 54 mmOBCProto, the printed circuit board in 3D

    OBCProto

    Kmshanley/PicoSat-Initiative

    The pocket cube standard requires satellites to be 5x5x5cm and under 250 grams. Upon completion of this Wentworth PicoSat it will become one of the smallest satellites capable of high resolution imagery from LEO.

    126 parts3GPL-3.0
  • 4 layers159 × 21.7 mmKSS V50, the printed circuit board in 3D

    KSS V50

    anaidan/KSS_V50

    Kinetic Sun Sculpture V50

    128 parts