|
KiCad 9.0 |
ESP32-S3 Samsung SmartThings high power switch/dimmer
What is this project?
A professional-grade, open-source LED dimmer and switch controller built around the ESP32-S3, designed for native integration with
Samsung SmartThings as a Direct Connected Device. Unlike cheap aliexpress dimmers that whine, flicker, and offer zero smart home
integration, this board was engineered from the ground up for reliability, scalability, and real power monitoring.
The board controls 24VDC LED strips (SMD2835, SMD5050, or similar) with true PWM dimming, reports real-time power consumption back
to SmartThings, and supports local control via a rotary encoder — no hub required for basic operation.
Why did I build it?
Every commercial LED dimmer I tried either audibly whined at annoying frequencies, flickered visibly (especially on camera),
offered no meaningful smart home integration, or capped out at low wattages with no upgrade path.
I wanted one board that could drive a 1-meter accent strip today and a 50-meter architectural installation tomorrow — without a
redesign.
How it works
24V DC enters through a 10A or 15A fuse and a P6KE30A TVS diode for surge protection. Two LM2596 buck converters step the voltage down to 5V for the ESP32-S3 DevKit and 12V for the gate driver. A large bulk capacitor (50V/2200µF) stabilizes the 24V rail.
A UCC27524 dual 5A gate driver receives PWM signals from the ESP32-S3 and drives four parallel IRLB8743 N-channel MOSFETs. Each FET has its own 22Ω gate resistor to prevent inter-device oscillation, and a shared 10kΩ pull-down keeps the FETs off at startup. A 20SQ045 Schottky diode handles freewheeling at high power levels where strip inductance becomes significant.
Four MOSFETs in parallel might seem like overkill — and for a 1-meter strip it absolutely is. But with a combined Rds_on of ~1.1mΩ, conduction losses at 15A are under 0.25W total. This thermal headroom is what allows the board to scale to 1000W continuous with appropriate cooling, without changing a single component.
An INA226 precision power monitor measures real current, voltage, and wattage on the 24V rail. The onboard shunt resistor is replaced with an external 2512 SMD alloy resistor for accuracy at high currents. This data is reported to SmartThings as energyMeter and powerMeter capabilities — actual watts consumed, not an estimate from PWM duty cycle.
An EC11 rotary encoder with push button allows brightness adjustment and on/off control directly on the device, with hardware debounce capacitors.
PWM and flicker
The firmware runs PWM at 25kHz — above human hearing (no whine) and above typical camera rolling shutter frequencies (no banding in video). This was a direct response to the failures of every commercial dimmer I tested.
Scalability — the real design achievement
This board is a platform, not a fixed product. It was designed so that:
- A 1-meter accent strip needs just one FET and one gate resistor
- A full 3-meter strip at 250W uses all four FETs with a 15A fuse
- Switching to a 12V strip means removing one LM2596 and adjusting the other
- Scaling to 1000W requires only a fuse swap, a bigger PSU, and a heatsink
- Upgrading to Matter and Thread requires only swapping the ESP32-S3 for an ESP32-C6 without too much hassle
The C6 brings a native 802.15.4 radio for Matter over Thread, making this board future-proof for whatever smart home standard wins out.
Firmware
The ESP32-S3 runs the Samsung SmartThings Direct Connected Device SDK. The device registers as a dimmer switch with energy monitoring and appears natively in the SmartThings app. Local encoder control works fully offline. The same hardware can be adapted for Home Assistant via ESPHome or MQTT with minimal changes.
Specifications:
- Input voltage: 24VDC
- Realistic continuous power: 300W
- Practical maximum with cooling: ~1000W
- Theoretical peak: ~2000W
- PWM frequency: 25kHz
- Current sensing: INA226 over I2C
- MCU: ESP32-S3-DevKitC-1
- Smart home: Samsung SmartThings Direct Connected Device (native)
- Upgrade path: ESP32-C6 for Matter/Thread
- Local control: EC11 rotary encoder with push button
- Protection: TVS diode, Schottky freewheeling diode, fuse
ESP32-S3 Samsung SmartThings high power switch/dimmer
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by MAXIM ROMAN
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
2468 0 5 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
2912 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
3123 2 1 -
-
-
-
ESP32-C3 BLE Keyboard - Battery Powered with USB-C Charging
3176 0 2 -







