

LEDy pcb
- Size
- 111 × 21 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 18
- Nets
- 39
- Pads
- 101
- Tracks, vias
- 121, 18
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 4 May 2025
- Updated
- 19 Oct 2026
Overview
LEDy pcb is an open-source printed circuit board by repetren, from the repetren/LEDy repository on GitHub. It is a 4-layer board of 111 × 21 mm with 18 parts on 39 nets, routed with 121 tracks and 18 vias.
It is built around the ESP32-WROOM-32, MP1584EN and IRLZ44N. Its parts include 4 resistors, 3 ICs, 2 connectors and 1 transistor. It belongs with the ESP32 boards of this library.
Main components
3ESP32-WROOM-32
SMD,18x25.5mm-40℃~+85℃ -98dBm 2.4GHz 2.7V~3.6V 20dBm Bluetooth4.2 ESP32-DOWDQ6 UART、SDIO、SPI、I2C、GPIO、PWM、ADC、DAC SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesMP1584EN
SOIC-8-EP-20℃~+85℃ 1 100kHz~1.5MHz 4.5V~28V Adjustable Buck Buck Built-in SOIC-8-EP DC-DC Converters ROHSMonolithic Power SystemsDC-DC ConvertersIRLZ44N
TO-22055V 47A N-Channel HEXFET® Power MOSFETInfineon TechnologiesUncategorised
README
README.mdLEDy – ESP32-based smart floorlamp upgrade
Description
LEDy is a hardware project designed to integrate old LED strips into the Apple HomeKit system. It uses the ESP32 microcontroller with the HomeSpan library for the Arduino framework. It supports existing hardware buttons and capacitive sensors, allowing control over brightness and on/off state for LED strips or any other 12V load. The project consists of two parts: code and hardware. A Gerber file for the custom PCB is included. The PCB form factor is based on the physical dimensions of the original floorlamp housing but can be reused in other compact devices, as the PCB width matches the ESP32 chip.
ESP32 and hardware
ESP32 is the core of the whole system. Thanks to the large community, Arduino support, simple networking setup, and low cost, it's the most suitable MCU for small IoT projects. The system was tested both on a dev board and on a custom PCB designed specifically for this project.
LED dimming is done via PWM through a MOSFET transistor. The control button is implemented as a capacitive sensor and needs to be tuned empirically depending on the circuit (more on this in the main.cpp section).
platformio.ini
The project requires specific settings for ESP32 in the platformio.ini file to avoid compilation and firmware upload errors.
HomeSpan
HomeSpan is a popular open-source library for ESP32 + Arduino to integrate with Apple HomeKit. For updates or custom logic, check the official documentation and examples — they’re great. This project is based on the Dimmable LED example. ** After the first flash, Wi-Fi credentials must be entered via Serial Monitor. ** For the initial connection, refer to the HomeSpan docs. Default pairing code is: 466-37-726
Capacitive sensor
The pin should be set manually in main.cpp, according to the ESP32 datasheet. After uploading the firmware, ESP32 starts printing raw capacitive values to the Serial Monitor.
To define a proper threshold:
- Note the value when not touching the sensor,
- Then note the value when touching it,
- Set your threshold somewhere between those two values.
main.cpp
The setup() function handles initial library setup and MCU configuration. The Serial Monitor is used for debugging, Wi-Fi setup, and status output.
The loop() function constantly checks the state of the capacitive button and runs homeSpan.poll()
DEV_LED.h
All accessory-related logic is handled here, based on HomeSpan's structure.
update() — modified from HomeSpan's original to handle smooth dimming using global variables.
touch() — handles capacitive sensor input and syncs it with the update() function.
This setup ensures that any change made by physical input is reflected in the HomeKit app and vice versa. Global variables for power and brightness levels help maintain the last known state across different control methods.
level_adjust()
HomeSpan controls power via 1/0 logic and brightness through PWM. But real-world LED brightness jumps harshly without smoothing. This function introduces a 10 ms delay between the current and target brightness levels (coming from HomeKit). This creates a soft dimming effect when turning on/off, whether controlled from the app or via the capacitive button.
Gerber files
Includes a custom PCB designed mostly with through-hole (THT) components. The ESP32 is the only part that needs SMD soldering. Power is handled via a prebuilt MP1584 module.
Electrical characteristics
Tested with a 1-meter LED strip using a 12V / 1A power supply.
Future improvements
- Replace button polling with proper interrupt-based input
- Add support for 3 MOSFETs to control RGB LED strips
Parts
18| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | TestPoint_Loop_D2.50mm_Drill1.85mm | TestPoint:TestPoint_Loop_D2.50mm_Drill1.85mm | LED-, LED+, LED+ |
| 2 | , | ||
| 2 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R3 |
| 1 | 100 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1 |
| 1 | 120 2W | Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal | R4 |
| 1 | 1778625 | 1778625:PHOENIX_1778625 | J2 |
| 1 | 1778638 | 1778638:PHOENIX_1778638 | J1 |
| 1 | Connectik v001 | conectik:Connectik v001 | U3 |
| 1 | ESP32-WROOM-32 | RF_Module:ESP32-WROOM-32 | U2 |
| 1 | IRLZ44N | Package_TO_SOT_THT:TO-220-3_Horizontal_TabDown | Q1 |
| 1 | LOGO | LOGO | G*** |
| 1 | MP1584 | MP1584:MP1584_AMAZON | U1 |
The 16 most common of 18 parts.
Questions
How big is the LEDy pcb PCB?
It measures 111 × 21 mm and has 4 copper layers, 1.6 mm thick.
What parts does the LEDy pcb use?
18 parts, built around the ESP32-WROOM-32, MP1584EN and IRLZ44N. 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 LEDy pcb KiCad files?
From the repetren/LEDy repository on GitHub, at the commit this page was made from: the board is hardware/kikad/LEDy_pcb.kicad_pcb and its schematic hardware/kikad/LEDy_pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the LEDy pcb design in my own project?
Its repository states no licence, so its author keeps all rights: ask repetren before reusing the design.
Similar boards
- 4 layers

- 2 layers226 × 236.9 mm

- 2 layers41.3 × 31.2 mm

Levitator
QuartzAl/Projects-showcase
Main repository where I keep all of my project showcases related to Electrical Engineering These include PCB designs, electronic circuits, code snippets, and more.
13 parts - 2 layers45 × 55 mm

DongleALIVEv2.0
joaogabrielsantosD/Dongle-eaLIVE-PCB
PCB of the DongleEALIVE for reading data from the vehicle's CAN bus with telemetry via BLE, supporting GPS and accelerometer.
77 parts1 - 2 layers78.5 × 61 mm

KiCad PCB Assessment
iamkaifpathaan/KiCad-PCB-Assessment
PCB design assessment in KiCad - schematic to fabrication-ready manufacturing files
28 partsMIT - 2 layers93.4 × 87.4 mm

- 2 layers38.5 × 67.3 mm

- 2 layers60.6 × 49.9 mm
