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
Tier 4
25 views
0 followers
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
submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago
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
submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago
Clém
added to the journal ago
Building the RGB Connect

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.







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
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...




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
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)




Clém
submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago
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
submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago
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
submitted RGB Connect : A simple ESP32 powered RGB + 2 White strip LED driver for review ago
Clém
added to the journal ago
Built the Blynk application - Prepared for shipment

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.


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
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:








Clém
added to the journal ago
Finishing touches on the PCB and RENDERs

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


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...




Clém
added to the journal ago
Finished the PCB (at least the electrical part ... )


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:



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 😊:


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:

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
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.

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.

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:

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 😊:


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


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:



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

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


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...




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:








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

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.


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)




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...




1/19/2026 - Building the RGB Connect

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.







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)