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