Blueprint

RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver

This RGB LED driver built around an ESP32 supermini devboard comes with 5 P channel Mosfets and a 5V LDO voltage regulator. With this simple module, I'll be able to command RGB strips and White LED Strips with a Blynk IoT app on my phone. With it's 5 Mosfets, this module can control everything that needs switching 5 high sink loads (up to 5 Amps), even though this board has been specifically designed for the 3 R, G and B channels, with the 2 other channels remaining for white LED Strips.

Created by Clém Clém

Tier 4

25 views

0 followers

m0.hid m0.hid approved RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver ago

Tickets awarded: 15 tickets

Tier: 4

Great work on this! I love the art on your pcb, it makes it look really polished

Clém Clém submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago

m0.hid m0.hid requested changes for RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver ago

Great work on this! I love the colour scheme of your 3d prints, it looks really good! Before I can approve this, can you add some photos of the completed project onto your readme in the repo please but otherwise it looks good!

Tier: 4

Clém Clém submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago

Clém Clém added to the journal ago

Building the RGB Connect

RGB CONNECT FINAL RENDERS 01

I carefully added small blobs of solder paste on each pad, and populated 2 PCBs with the SMD components, and heated the PCB up with a heat gun. It took me 1h to get the job done with the 25 SMD components and 20 hand solder pads per board. I also added the ESP32 C3 supermini board.

I then uploaded the firmware. and made a test with a 12v Power supply, RGB strip led and 2 white strip LEDs, but I was a bit scared because the RED channel was always on... It think it's the AO3400 that was defective, because when I swapped it with another one, it worked. Maybe I heated it too much when soldering...

Anyway, now it's working, and I'm really happy with how this project turned out.

IMG_20260117_221539648

IMG_20260118_083643514~2

IMG_20260117_235819823

IMG_20260118_083514391

IMG_20260118_083522712

IMG_20260118_083546202_HDR

Screenshot_20260119-134259.Photos

BTW, I forgot to mention it, but I designed and 3d printed a brown mounting bracket (It' going to be mounted to a bed leg)

Clém Clém added to the journal ago

I received the PCB 🎉

I received the PCBs, and they look as cool as expected. it fits perfectly in the 3d printed parts, nothing to say on that front. However, when carefully looking at the PCB, I noticed that the +12V and GND silkscreen on the screw terminal on the back of the PCB are flipped... not a big deal, but I'll need to be careful to connect the power supply in the right orientation...

IMG_20260110_162925884IMG_20260110_162840722
IMG_20260110_162956852_HDR

IMG_20260110_163144641

Tanuki Tanuki ⚡🚀 approved RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver ago

Tier approved: 4

Grant approved: $0.00

This is really polished, especially for EASYEDA. Good job!

Clém Clém added to the journal ago

While I'm still waiting for the PCBs, I printed the case ...

I opened the 3d files in Cura, and printed the 3 parts on my Ender 3 (roughly 4 hours in total). I made 2 parts for the top cover to avoid having supports and they can then be glued together. I printed the top part with an Elegoo beige filament, and the bottom plate with an Elegoo brown one. The key to awesome print finish, is to add texture with the 'fuzzy skin' mode in Cura, it hides the layer lines and looks way better with this setting enabled.

I like this color combo, and with the bare FR-4 on the side of the PCB and black soldermask, I'm sure it'll look awesome!

I'm still waiting for the PCB to arrive, so it seems a bit empty, but here is how it looks like: (yeah, there is a bit of warping here and here, but it won't be a problem for assembly. Looking at the photos, it actually looks better in my hands, but anyway)

20251230_125325

20251230_125217

20251230_125234

20251230_125315

Clém Clém submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago

Iamalive Iamalive 🚀 requested changes for RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver ago

Please include the pcb files to your repo! If it's in a zip, please unzip and attach each file individually

Clém Clém submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago

Iamalive Iamalive 🚀 requested changes for RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver ago

You're not asking for funding?

Clém Clém submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago

Clém Clém added to the journal ago

Built the Blynk application - Prepared for shipment

RGB CONNECT FINAL RENDERS 01

I made the Blynk app, with 6 variables: CW, WW, R, G, B.
For the phone dashboard, I've added an RGB color picker ("ZeRGBa") for the RGB, and for the Cold White and Warm White channels, 2 sliders and 2 toggle switches.

RGB CONNECT Blynk dashboard

Screenshot_20251220_200413_Blynk IoT

The Arduino code is available on the Github repo.

Before shipping the project:

I added the BOM, and made sure that all the required files were present.

As I already have almost all the parts (I only need to buy a few missing components: the SMD L7805, the two bulk caps, and the screw terminal, and obviously the PCB), I won't ask for a grant: I'd rather earn tickets for this side project. To avoid paying $9 in shipping for $3 worth of components, I planned to buy them with the same LCSC order that for my IOX-77.

Clém Clém added to the journal ago

Designing the 3d printed Case

I spent a few hours this afternoon designing the 3d printed case in Fusion360, and I'm kinda happy with the result. The headers, FPCs and screw terminals are accessible, and the case is built all around.

I needed to split the top cover in two parts, this way I don't have any supports. (the two top parts will be printed upside down, and the bottom plate will be printed in this orientation). The two parts can then be glued together.

Here is what I come up with:

RGB CONNECT FINAL RENDERS 01

RGB CONNECT FINAL RENDERS 02

RGB CONNECT FINAL RENDERS 08

RGB CONNECT FINAL RENDERS 07

RGB CONNECT FINAL RENDERS 03

RGB CONNECT FINAL RENDERS 04

RGB CONNECT FINAL RENDERS 05

RGB CONNECT FINAL RENDERS 08

Clém Clém added to the journal ago

Finishing touches on the PCB and RENDERs

PCB RENDER 01

Finished the PCB

I cleaned the silkscreen to get a better looking PCB, and I think the PCB is basically done now:

PCB Part4 3d model top

PCB Part4 3d model bottom

Renders on Fusion 360

I loaded the 3d files to Fusion 360 in order to make some cools renders. Since I discovered this awesome and easy-to-use tool, I can no longer make PCBs without having fun rendering PCBs. The only downside is that the pads aren't silverish, I could obviously go through all of them one by one to change the color for the renders, but I think it doesn't worth the effort, and it's just for illustration, so...

PCB RENDER 01

PCB RENDER 03

PCB RENDER 02

PCB RENDER 04

Clém Clém added to the journal ago

Finished the PCB (at least the electrical part ... )

PCB Part3 3d model iso rect

PCB Part3 3d model top

Routed the PCB part 3

I kept adding more and more traces, connecting the IOs to the ESP32 C3. I needed to make a few insignificant changes (like changing some copper planes, or switching SDA and SCL on the header) because it was easier to route.

Here is the final (I guess?) PCB layout:

PCB Part3 2

PCB Part3 3

PCB Part3 1

Clém Clém added to the journal ago

Routed the PCB part 2

I changed my mind when I noticed that the decoupling caps on the top of the board could have been placed higher, so It's what I did: I moved them up a bit, and it let me more space at the bottom for routing the PWR traces. I thinks it's way better know, because with the wider copper planes, the current capability shouldn't be a problem anymore. Have a look at these georgous copper planes 😊:

PCB Part2 1

PCB Part2 2

Clém Clém added to the journal ago

Routed the PCB part 1

I arranged the component onto the PCB and started routing everything. The board has kind of a weird shape, but it's because I wanted the antenna (on the top of the ESP32 devboard) to be on the side of the PCB, while having the USB C accessible, so this is what I come up with:

PCB Part1

I tried to use has many copper planes as possible, to ensure that it can handle as many current as possible, but I'm not sure that the 5A max goal will be achieved, because some power traces can't be bigger than 1.1mm (43.3 mil) for them to fit in this design... In any case, I think I'll never go up to 5A, it should stay around 2A for each channel; which is still enough for 5m of RGB LED Strip (60 leds/m). One cool thing is that I still managed to have two channels with bulkier traces, so 2 of them should at least be able to handle a few more Amps for like Brighter Withe LED Strips.

Clém Clém added to the journal ago

Made the schematic

I made the schematic. As it's a small side project, I didn't wanted to ask for a grant, thus I chose low cost components that I already had at home. I'm using the well known ESP32 C3 supermini devboard, because it's cheap (2$) and easy to implement.

The schematic is straightforward: We've got the MCU, 5 P-Channel Mosfets, an LDO that converts the 12V IN (voltage of the Strip LEDs) to 5V for MCU, some decoupling caps, and 2 bulk capacitors at the 12V rail, to prevent any glitches on the strip LEDs (it already happends to me : the 12V power supply caused the Leds to glitch, which wasn't pleasant to watch...). I've also included a 2x6 Header for accessing GPIOs, and there are also 2 FPC connectors for IOs and I2C lines, if I later want to add some modules to the setup.

RGB connect schematic rev3

Clém Clém started RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver ago

12/13/2025 4 PM - Made the schematic

I made the schematic. As it's a small side project, I didn't wanted to ask for a grant, thus I chose low cost components that I already had at home. I'm using the well known ESP32 C3 supermini devboard, because it's cheap (2$) and easy to implement.

The schematic is straightforward: We've got the MCU, 5 P-Channel Mosfets, an LDO that converts the 12V IN (voltage of the Strip LEDs) to 5V for MCU, some decoupling caps, and 2 bulk capacitors at the 12V rail, to prevent any glitches on the strip LEDs (it already happends to me : the 12V power supply caused the Leds to glitch, which wasn't pleasant to watch...). I've also included a 2x6 Header for accessing GPIOs, and there are also 2 FPC connectors for IOs and I2C lines, if I later want to add some modules to the setup.

RGB connect schematic rev3

12/13/2025 7 PM - Routed the PCB part 1

I arranged the component onto the PCB and started routing everything. The board has kind of a weird shape, but it's because I wanted the antenna (on the top of the ESP32 devboard) to be on the side of the PCB, while having the USB C accessible, so this is what I come up with:

PCB Part1

I tried to use has many copper planes as possible, to ensure that it can handle as many current as possible, but I'm not sure that the 5A max goal will be achieved, because some power traces can't be bigger than 1.1mm (43.3 mil) for them to fit in this design... In any case, I think I'll never go up to 5A, it should stay around 2A for each channel; which is still enough for 5m of RGB LED Strip (60 leds/m). One cool thing is that I still managed to have two channels with bulkier traces, so 2 of them should at least be able to handle a few more Amps for like Brighter Withe LED Strips.

12/14/2025 3 PM - Routed the PCB part 2

I changed my mind when I noticed that the decoupling caps on the top of the board could have been placed higher, so It's what I did: I moved them up a bit, and it let me more space at the bottom for routing the PWR traces. I thinks it's way better know, because with the wider copper planes, the current capability shouldn't be a problem anymore. Have a look at these georgous copper planes 😊:

PCB Part2 1

PCB Part2 2

12/14/2025 9 PM - Finished the PCB (at least the electrical part ... )

PCB Part3 3d model iso rect

PCB Part3 3d model top

Routed the PCB part 3

I kept adding more and more traces, connecting the IOs to the ESP32 C3. I needed to make a few insignificant changes (like changing some copper planes, or switching SDA and SCL on the header) because it was easier to route.

Here is the final (I guess?) PCB layout:

PCB Part3 2

PCB Part3 3

PCB Part3 1

12/15/2025 - Finishing touches on the PCB and RENDERs

PCB RENDER 01

Finished the PCB

I cleaned the silkscreen to get a better looking PCB, and I think the PCB is basically done now:

PCB Part4 3d model top

PCB Part4 3d model bottom

Renders on Fusion 360

I loaded the 3d files to Fusion 360 in order to make some cools renders. Since I discovered this awesome and easy-to-use tool, I can no longer make PCBs without having fun rendering PCBs. The only downside is that the pads aren't silverish, I could obviously go through all of them one by one to change the color for the renders, but I think it doesn't worth the effort, and it's just for illustration, so...

PCB RENDER 01

PCB RENDER 03

PCB RENDER 02

PCB RENDER 04

12/18/2025 - Designing the 3d printed Case

I spent a few hours this afternoon designing the 3d printed case in Fusion360, and I'm kinda happy with the result. The headers, FPCs and screw terminals are accessible, and the case is built all around.

I needed to split the top cover in two parts, this way I don't have any supports. (the two top parts will be printed upside down, and the bottom plate will be printed in this orientation). The two parts can then be glued together.

Here is what I come up with:

RGB CONNECT FINAL RENDERS 01

RGB CONNECT FINAL RENDERS 02

RGB CONNECT FINAL RENDERS 08

RGB CONNECT FINAL RENDERS 07

RGB CONNECT FINAL RENDERS 03

RGB CONNECT FINAL RENDERS 04

RGB CONNECT FINAL RENDERS 05

RGB CONNECT FINAL RENDERS 08

12/20/2025 - Built the Blynk application - Prepared for shipment

RGB CONNECT FINAL RENDERS 01

I made the Blynk app, with 6 variables: CW, WW, R, G, B.
For the phone dashboard, I've added an RGB color picker ("ZeRGBa") for the RGB, and for the Cold White and Warm White channels, 2 sliders and 2 toggle switches.

RGB CONNECT Blynk dashboard

Screenshot_20251220_200413_Blynk IoT

The Arduino code is available on the Github repo.

Before shipping the project:

I added the BOM, and made sure that all the required files were present.

As I already have almost all the parts (I only need to buy a few missing components: the SMD L7805, the two bulk caps, and the screw terminal, and obviously the PCB), I won't ask for a grant: I'd rather earn tickets for this side project. To avoid paying $9 in shipping for $3 worth of components, I planned to buy them with the same LCSC order that for my IOX-77.

12/30/2025 - While I'm still waiting for the PCBs, I printed the case ...

I opened the 3d files in Cura, and printed the 3 parts on my Ender 3 (roughly 4 hours in total). I made 2 parts for the top cover to avoid having supports and they can then be glued together. I printed the top part with an Elegoo beige filament, and the bottom plate with an Elegoo brown one. The key to awesome print finish, is to add texture with the 'fuzzy skin' mode in Cura, it hides the layer lines and looks way better with this setting enabled.

I like this color combo, and with the bare FR-4 on the side of the PCB and black soldermask, I'm sure it'll look awesome!

I'm still waiting for the PCB to arrive, so it seems a bit empty, but here is how it looks like: (yeah, there is a bit of warping here and here, but it won't be a problem for assembly. Looking at the photos, it actually looks better in my hands, but anyway)

20251230_125325

20251230_125217

20251230_125234

20251230_125315

1/14/2026 - I received the PCB 🎉

I received the PCBs, and they look as cool as expected. it fits perfectly in the 3d printed parts, nothing to say on that front. However, when carefully looking at the PCB, I noticed that the +12V and GND silkscreen on the screw terminal on the back of the PCB are flipped... not a big deal, but I'll need to be careful to connect the power supply in the right orientation...

IMG_20260110_162925884IMG_20260110_162840722
IMG_20260110_162956852_HDR

IMG_20260110_163144641

1/19/2026 - Building the RGB Connect

RGB CONNECT FINAL RENDERS 01

I carefully added small blobs of solder paste on each pad, and populated 2 PCBs with the SMD components, and heated the PCB up with a heat gun. It took me 1h to get the job done with the 25 SMD components and 20 hand solder pads per board. I also added the ESP32 C3 supermini board.

I then uploaded the firmware. and made a test with a 12v Power supply, RGB strip led and 2 white strip LEDs, but I was a bit scared because the RED channel was always on... It think it's the AO3400 that was defective, because when I swapped it with another one, it worked. Maybe I heated it too much when soldering...

Anyway, now it's working, and I'm really happy with how this project turned out.

IMG_20260117_221539648

IMG_20260118_083643514~2

IMG_20260117_235819823

IMG_20260118_083514391

IMG_20260118_083522712

IMG_20260118_083546202_HDR

Screenshot_20260119-134259.Photos

BTW, I forgot to mention it, but I designed and 3d printed a brown mounting bracket (It' going to be mounted to a bed leg)