Skip to the content
2 layers62.5 × 50.2 mmController, the printed circuit board in 3D

A PCB to control LEDs (up to 5 channels) using PWM, based on an Espressif ESP32-C6 development board.

Size
62.5 × 50.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
44
Nets
52
Pads
154
Tracks, vias
285, 22
Pours
118
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
9 Jul 2023
Updated
26 Aug 2023

Overview

Controller is an open-source printed circuit board by kongr45gpen, from the kongr45gpen/led-controller-pcb repository on GitHub, published under the CERN-OHL-W-2.0 licence. It is a 2-layer board of 62.5 × 50.2 mm with 44 parts on 52 nets, routed with 285 tracks and 22 vias.

It is built around the ESP32-C6-DEVKITC-1-N8 and IRLTS6342TRPBF. Its parts include 6 resistors, 5 transistors, 5 connectors, 1 capacitor and 1 IC. It belongs with the ESP32 and RISC-V boards of this library.

Main components

2

README

README.md

led-controller-pcb

A PCB to control LEDs (up to 5 channels) using PWM, based on an Espressif ESP32-C6 development board.

Do you want to control your LEDs through Wi-Fi, Bluetooth or Zigbee, but you don't have 100€ lying around? This project is for you!

Images

Features

  • 5 PWM output channels
  • 5 switch MOSFETS (up to 8A)
  • VIN up to 28V
  • ESP32-C6 controllable through USB, Wi-Fi, Bluetooth 5 (LE), IEEE 802.15.4
  • Support for RGB, RGBW, RGBWW/CW, WS2812B, and other configurations
  • Control through MQTT, HomeAssistant
  • Non-isolated input
  • Fully open-source software and hardware
  • 6.25 × 5 cm
  • Not battle tested, so might stop working randomly

Software

You can write your software using any framework you prefer. This board is built and will work out of the box for the kongr45gpen/ledstripesp32 project specifically.

Bill of Materials

This board is meant to function as a controller (generating low-power PWM signals from a network/wired input), as a dimmer (switching high-power LED lights on/off based on the input signal) or both.

The controller function is based on the ESP32-C6-DevKitC-1 development board, but other ESP32 development boards should be also usable (not tested).

The dimmer function relies on a few MOSFETs to control the current flow from the output.

The rest of the components are mostly optional and slightly improve the functionality of the board (connectors, pull-down resistors etc). The user can choose whichever components they need and assemble the board to their preference. Many components (e.g. DC barrel jack, headers, passives) may be replaceable with cheaper generic alternatives.

An all-around configuration should cost ~20€, and adding a screen, voltage regulator and detachable headers should move the price up to ~35€.

A total project cost for a simple RGB led control system could be: 5m 5050 12V RGB LED strip (10€) + 12V 1A power supply (10€) + PCB (6€) + components (20€) = 46€.

With example parts and prices from Mouser:

RefPartQu.CONT.DIM.DescriptionPrice
Brd14-pin I2C SSD13061❓Debugging info screen3€
C1C 100nF 0603 (1608 metric)1✔️Decoupling capacitor0.1€
J1CUI PJ-063AH1❓VIN Barrel connector1.5€
J2Molex SL 171971-00021❓VIN Header connector0.8€
J3Molex SL 171971-00071❓❓PWM input/output connector (5 pins + GND)1.5€
J45mm 6-pin screw terminal1✔️Power output (5 pins + VDD)0.9€
J5Molex SL 171971-00031❓Addressable LED output1.1€
LED1..50805 (2012 metric) LED5❓❓Indicator LEDs for PWM1.25€
LED_POWER10805 (2012 metric) LED1❓Indicator LED for VDD0.25€
Q1..5IRLTS6342 (N-MOSFET)5✔️Control transistors (use as many as needed)1.7€
R1..6R 15kΩ 0603 (1608 metric)6❓LED series resistors (use as many as needed)0.1€
Rpd1..5R 100kΩ 0603 (1608 metric)5❓❓Pull-down resistors to keep output off when disconnected0.1€
SW1PTS647SM70SMTR2LFS1❓ESP32 input switch0.2€
U1ESP32-C6-DevKitC-11✔️ESP32 development kit8€
VR1Wurth 17694052411❓Voltage regulator to provide 5V to ESP32 from VIN5€

Extra Accessories

PartQuantityCONTROLLERDIMMERDescriptionPrice
4-pin header1❓For screen (Brd1)0.7€
16-pin-header2❓For ESP32 (U1)5€
Molex 14-60-00241❓Wire plug for J20.4€
Molex 14-60-00721❓❓Wire plug for J31.5€
Molex 14-56-70321❓Wire plug for J50.7€

Solder Bridges

Some solder bridges/solder jumpers may need to be soldered before any operation can take place.

RefPinsCONTROLLERDIMMERDescription
JP13✔️Controls the source of VDD for the LED power output. Bridge 2-1 to connect to 5V. Bridge 2-3 to connect to VIN (J1, J2).
JP23❓Controls the voltage source (typically 5V) for the addressable strip. Bridge 2-1 to connect to 5V. Bridge 2-3 to connect to VIN (J1, J2).
JP32✔️Bridge to connect power ground with digital ground. Must solder for proper operation.
JP42❓Bridge to connect VR1 output to 5V. Must solder to enable voltage regulation from VIN to ESP32 5V. Keep desoldered during debugging to prevent damaging your equipment.
JPout1..52✔️Bridge to connect transistor outputs to output connector. You can alternatively wire a series resistor here for your output, if needed.

Example configurations

All-in-one controller, from Wi-Fi to RGB LED strip:

  • C1, J1 to connect an external 12V power supply
  • VR1 to convert the external 12V to 5V for the ESP32
  • LED1..3, LED_POWER1, R1..3, R6 for debugging indicators
  • Q1..3 as amplifiers
  • Rpd1..3 to prevent lights from going up during boot
  • J4 to screw LED strip wires
  • U1 for control
  • Bridge JP1 (2-3), JP3, JPout1..3. After uploading code, bridge JP4.
  • BOM cost: 18€

Addressable strip controller with debugging screen:

  • No need for power input, as the ESP32 dev board already has USB-C connections
  • U1 for control
  • J5 connector to output addressable LED data
  • J5 wire plug to solder on addressable LED
  • Brd1 screen + 4-pin header to allow detaching it
  • Bridge JP2 (2-1)
  • BOM cost: 6€

Parts

44
QtyValueFootprintReferences
615kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2, R3, R4, R5, R6
6LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderLED_POWER1, LED1, LED2, LED3, LED4, LED5
5100kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderRpd1, Rpd2, Rpd3, Rpd4, Rpd5
5IRLTS6342TRPBFPackage_SO:TSOP-6_1.65x3.05mm_P0.95mmQ1, Q2, Q3, Q4, Q5
5SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mmJPout1, JPout2, JPout3, JPout4, JPout5
2SolderJumper_3_Bridged12Jumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mm_NumberLabelsJP1, JP2
1100nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1
1Barrel_Jack_MountingPinConnector_BarrelJack:BarrelJack_CUI_PJ-063AH_Horizontal_CircularHolesJ1
1Conn_01x02_PinConnector_Molex:Molex_SL_171971-0002_1x02_P2.54mm_VerticalJ2
1Conn_01x03_PinConnector_Molex:Molex_SL_171971-0003_1x03_P2.54mm_VerticalJ5
1Conn_01x07_PinConnector_Molex:Molex_SL_171971-0007_1x07_P2.54mm_VerticalJ3
1ESP32-C6-DevKitC-1Espressif:ESP32-C6-DevKitC-1U1
1SSD1306SSD1306:128x64OLEDBrd1
1SW_Pushcontroller_library:SWITCH-4SW1
1Screw_Terminal_01x06TerminalBlock_RND:TerminalBlock_RND_205-00005_1x06_P5.00mm_HorizontalJ4
1SolderJumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP3
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP4
1Wurth Elektronik 1769405x41controller_library:1769405x41VR1

The 41 most common of 44 parts.

Similar boards

  • 2 layers59 × 83 mmSciencefestivalpcb, the printed circuit board in 3D

    Sciencefestivalpcb

    kongr45gpen/puzzle-pcb

    PCB for Science Festival 2023

    70 parts
  • 2 layers63 × 58 mmOPNpool r5, the printed circuit board in 3D

    OPNpool r5

    cvonk/OPNpool

    Integrates the functionality of a Pentair pool controller into the smart home using ESP32 SoC.

    17 parts102
  • 2 layers140 × 80 mmIntelliThings, the printed circuit board in 3D

    IntelliThings

    embedded-purdue/IntelliThings

    From IoT to AIoT: ESP32-C6 sensor nodes, Home Assistant and an LLM agent that acts through MCP

    12 parts5
  • 2 layers174.5 × 90.4 mmVolante Maquinillo, the printed circuit board in 3D

    Volante Maquinillo

    Angelpele/F1-Steering-Wheel

    F1 Functional Steering Wheel based on the ESP32

    65 parts2
  • 2 layers51 × 70.1 mmLeels breakout, the printed circuit board in 3D

    Leels breakout

    leehambley/leels

    Lee LS (Lead Screw). Forked and simplified from kachurovskiy/nanoels, rewritten in Rust and simplified for a true ELS implementation not a quasi-CNC controller

    28 parts2
  • 2 layers125 × 78.2 mmRC ESP32 V2, the printed circuit board in 3D

    RC ESP32 V2

    Poent/RC-Snowblower

    Working on designing the impeller and auger portion of the snowblower. Switched from using a worm gear assembly to a custom ring and pinion setup using a spiral bevel gear.

    84 parts2
  • 2 layers252.9 × 55 mmSulari 170V, the printed circuit board in 3D

    Sulari 170V

    antsakur/nixie-clock

    Open-source Nixie clock project. Gerbers, BOM and firmware.

    78 parts1
  • 4 layers353 × 117 mmKEYBOARD, the printed circuit board in 3D

    KEYBOARD

    Ekam-wadhwa1/nexus.terminal

    it is a portable touchscreen device with 2 displays powered by a lattepanda iota with 16gb ram and intel n150. paired with a custom built mechanical keyboard for typing,coding,streaming and web browsing

    177 parts1GPL-3.0

Questions

How big is the Controller PCB?

It measures 62.5 × 50.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Controller use?

44 parts, built around the ESP32-C6-DEVKITC-1-N8 and IRLTS6342TRPBF. 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 Controller KiCad files?

From the kongr45gpen/led-controller-pcb repository on GitHub, at the commit this page was made from: the board is controller.kicad_pcb and its schematic controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller design in my own project?

Its repository publishes it under the CERN-OHL-W-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).