The first step is to take a look at the power supply and find out what we're dealing with in terms of voltage. This power supply provides 12v, so we need a controller that can handle either 5v or 12v input. Using a board that's rated for 5v like most ESP32 boards will not work - your board will fry.Â
Luckily, Adafruit's got you covered. The Sparkle Motion board can easily handle 12v, and it's almost exactly the same size as the controller that ships with the lamp.Â
Â
Remove the rubber feet from the controller enclosure and unscrew the four screws. Carefully unsolder the five wire connections: red, yellow, and black to the LED strip connector and red and black to the power connector. Remove the controller.Â
Trim the solder blobs off the wires, while keeping them as long as possible. Strip a tiny bit of shielding off each wire.
Prep your momentary switch by soldering a short wire to each of the two legs on one side. Bend the legs outwards so the button can sit flat on the table. Trim off the other two legs to avoid accidental shorts. Cover the connections with heat shrink.
Solder all your connections as shown:Â
On the side with the power cord:
- Red to USB breakout VBUS
- Black to GND
On the side that goes to the lamp, use the middle 3 screw terminal ports:
- Black to -
- Yellow to 22
- Red to +
For the switch:
- One wire to GND or - (any pin or port will work)
- One wire to pin 18Â
It's tempting to wire the switch to the screw terminal on pin 19 but the screw terminal pins are output only -- the switch will not work if wired to the screw terminal.
Squeeze a little hot glue into the indentation for the button on the bottom of the enclosure. The button is silicone so the glue won't stick -- this indentation will act as a mold for the glue. Press the top of your button into the wet glue, being careful not to get wet glue into the button mechanism. Now you have a perfectly shaped hot-glue cap for your button that will stay nicely in place inside the enclosure.
Now is the time for testing! First, double check that your voltage slider is set to 12v on the Sparkle Motion. Plug the two connectors in to the LEDs and the power supply. Your lights should come on in yellow. Click the button and the lights will cycle through different effects.
If this all happens, great! Move on to the next step to close up the case.Â
If not, check out the Troubleshooting section at the bottom of the page.
When using diagonal cutters below, ensure you have eye protection as tiny bits of plastic don't go well in eyes.
Place your button face down into the enclosure. Plug the USB breakout into the Sparkle Motion and nestle it all down on top of the button.Â
I used my flush cutter pliers to modify the case to make this all fit a little better, cutting out a few of the supports that were in the way of the board.Â
Replace the strain relief screws on the LED side. The USB breakout is in the way so we can't fix the strain relief screws on the power side. Add a zip tie or some glue if you're worried about the wires getting pulled out.
Â
Sandwich the back of the case together on top of the Sparkle Motion and click the button a few times to make sure things are still aligned. Replace the four screws to close up the case as much as possible -- the Sparkle Motion is a little too tall to allow the case to close completely so you'll have a gap, but the screws still reach the holes -- it's a little inelegant, but it works!
Troubleshooting
- If your lights come on in a weird white and purple flashing pattern, you have the wrong type of LED strip selected. Head to CONFIG / LED SETTINGS in WLED and change the LED type to SK6812/WS23814 RGBW.
- If your lights come on in white or in any other color that's not yellow, you need to update the color order. Mine are BRG with a W & G swap. See the installation page for more info.
- If only some of the lights come on, check to be sure you have the Length field set correctly -- my lamp has 40 lights.
- If no lights come on, check to be sure you have the right GPIO set up. The middle terminal uses pin 22 -- if you used a different terminal, fix the GPIO number to match.
- If your button doesn't work, check to be sure you set up the button GPIO in LED settings on pin 18, and double check the wiring -- the screw terminal ports won't read button clicks, you need to be connected to G and 18.Â
- If your button still doesn't work, open the case and make sure it's aligned right. Try clicking the button when it's not in the case and see if that's the problem.
Page last edited April 06, 2026
Text editor powered by tinymce.