WiFi LED Controllers

Flexible voltage input, over current protection, and it only cost $8 in parts!!

July 10, 20233 min read
Post Feature Image
A couple years ago, I made a few very bare-bones WS2812B-style LED strip controllers, using just an ESP8266 module and a voltage regulator. Needless to say, without any other components, they:
  • were pretty unreliable
  • disconnected ALL the time
  • randomly lost firmware
  • and more..
I really didn't see the point in replacing them as they were all installed in hard to access areas, but now that I'm going to college, I needed a way to control these lights with my phone without connecting directly to the device.
Some enterprise wireless networks implement a technology called client isolation where every wireless device can only talk to the outside internet, not to other devices on the same network. This was a problem as the WLED firmware relies on local control.
As with both of my Sand Table projects, I realized that I could use WireGuard on an ESP32 and indirectly connect it to my Home Assistant instance running back at home. Now, I just needed to design something that wouldn't catch on fire and get me in trouble with the housing department :p

Circuit Board

I wanted the ability to use both 5V and 12V LED strips, so I used a 5mm DC barrel jack input, and had a 3.3V voltage regulator on the board as well. As suggested by numerous online resources, I also added a 1000uF bypass capacitor as close to the output terminals as I could to prevent against voltage spikes.
And, just for giggles, I put an infrared receiver on each board. As usual, I ordered the boards from JLCPCB and the components came from Mouser.
The assembly process was pretty simple, by the time I hit the third or fourth board done, I was able to do each one in under ten or so minutes, a far cry from the CarPlay project.

Firmware

I used the original WLED firmware, but wrote a custom "user mod" to add WireGuard functionality. I also added support for connecting to WPA2-Enterprise networks.
See the fork here:
GitHub - acvigue/WLED: Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi! - GitHub - acvigue/WLED: Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32…
GitHub • acvigue

Enclosure

I designed a simple snap-fit enclosure in Fusion 360, starting from the STEP file exported from Altium. I printed them in marble PLA, and also printed a few extra in black ABS just in case they broke.
© 2024 Aiden Vigue