This is probably the coolest thing I have built with Adafruit electronics! When I viewed the learn guide describing the Floor Lamp with NeoPixels and WLED Custom Animations by Erin St Blaine I knew that I just had to build this work of art. I tend to like building things with wood, so my adaption of Erin's design for the most part replaces some elements with wood structures. I was pleasantly surprised with the results!
Many of the instructions that I provide below leverage Erin's design and construction. You will need to refer to Erin's learn guide frequently as you follow the instructions below.
Additional Materials
- 1 - 12"x24"x1" Lumber: This is the base of the lamp. Pine works fine for this component, which you can purchase at most home centers. Since the LED assembly is quite heavy, I figured that I should make the base as heavy as possible. Cut two ~12”x12” pieces which I glued together to provide a heavier foundation for the lamp. This design, with the wooden closet rod that I used for the pole, is very stable.
- 1 - 5 to 6 foot x 1.375 inch wooden closet rod: This is the pole to which you mount the Hot Wheels track with LED strip and plastic crystal diffusers installed. Cut to desired length. Can be purchased at most home centers.
- 1 - Metal Wood Screw: I believe that I used a 1.5- to 2-inch #8 wood screw. Note that you will use a spade drill bit to carve-out a hole in the base to accommodate the pole (which I also glued into the base), so this screw does not need to be really beefy.
- 4 - Black Wood Screws: Used to connect the LED track to the pole. Need only be small 1/4 inch or so screws. Black so that they blend-in with the Hot Wheels track.
- 2 - Tubes of Clear Silicone Caulk: You need a lot of caulk to fill-in the LED track and mount the plastic crystals. Two tubes were enough for my build.
- 4 - Silicone Furniture Feet: You need to have the base rest firmly on the floor and allow the power cord to run through and under the base.
Now Build It!
I largely followed Erin's guide for building the lamp. Once you have all of the materials assembled you can build your LED lamp as follows (apologies for not having any pictures of the build steps):
Assemble the Base
- Cut your 12"x24"x1" lumber into two 12"x12"x1" pieces and glue them together so that you have a 12"x12"x2" base. Sand your base assembly, especially the edges.
- Use a 1.375" spade bit to drill a hole partly (not completely through!) the center of your base. You will insert your mounting pole into this hole. Drill your hole about 1/4 to 1/2 of the way through the base (about 1/2" to 1". Test fit your pole (the wooden closet rod) to make sure that it will fit snugly into the base.
- Decide how many LEDs you want your lamp to have, as this will partly determine how tall your pole will need to be. For my double-twist design I cut my pole to a length of 5 feet, which worked great with my 100 LED strand.
- Insert the pole into the mounting hole you just drilled. Locate the center of the pole on the underside of the base and drill a pilot hole for your pole mounting screw. Once you have drilled this pilot hole, remove the pole from the base.
- Drill pilot hole for your USB-C extender cable. This will be the power connection between the power supply and the QT Py ESP32, so you need a hole big enough to slide the USB-C extender from the top to the underside of the base. Drill this hole so that the USB-C connector sticks-up right where your QT-Py ESP32 will be located at the bottom of the Hot Wheels track. This should be about 1/2 inch, and on what will be the back-side of the lamp, from the hole that you just drilled for the pole. I found it useful to drill this hole just big enough so that it snugly held the USB-C connector, providing stability to the mounting for the QT Py ESP32.
- Drill four pilot holes in your mounting pole and your Hot Wheels track for your LED strip assembly (Hot Wheels track, LED strip, and plastic crushed-ice diffusers). Best to assemble your Hot Wheels track to it desired length, test align it using however many twists you like (mine was a double), to decide where your Hot Wheels track will attach to the bottom, middle, and top of the pole. Note that I wanted the LEDs to face in the same direction (figuring that I would place the lamp in a corner, as shown in the photos), so be sure to face your mounting screw locations to the front of the lamp when you install the pole. Install the screws into the Hot Wheels track before completing the LED mounting steps below.
- Sand your pole and base smooth.
- Install your mounting pole into the lamp base. I used wood glue to attach the pole firmly and installed the pole mounting screw through the underside of the lamp base before allowing the glue to dry.
- Stain the seal (with, for example, polyurethane) the base and pole assembly. I used a nice dark stain.
Wiring Diagram
Wire the QT Py ESP32 to the LED strip exactly has Erin has done in her learn guide. Note that I opted to use a USB-C extender to connect the QT Py ESP32 to the power adapter, so no terminal block connection in my design. I used the same pinouts as Erin did (but without the terminal block connector):
- NeoPixel IN ==> QT Py ESP32 Pico A0
- NeoPixel 5V ==> QT Py ESP32 Pico 5V
- NeoPixel GND ==> QT Py ESP32 Pico GND
- [Wire for capacitive touch switch on base] ==> QT Py ESP32 A2 (GPIO27 in the WLED setup)
The wire for the capacitive touch sensor need only be less than about 3 inches long (enough to run from the QT Py ESP32 to the copper foil sheet). Connecting this touch sensor wire to the copper foil will be one of the last steps in this build.
Install WLED and Test Your LED Strip
Follow Erin's instructions for installing WLED, testing your LED strip, creating presets, setting-up the capacitive touch switch, etc.
Prepare your LED Mounting (Hot Wheels Track) and Touch Sensors
- If you followed my double-twist design, your LED strand will have 100 LEDs. Cut your LED strand to 100 LEDs if needed.
- Make sure that you have pre-installed the small mounting screws which will connect your LED mounting assembly to the lamp pole
- Don't forget to cover the QT Py ESP32 with a big piece of shrink tubing to protect it from being damaged by inadvertent contact (i.e. static).
- Follow Erin's instructions for priming, painting, and installing your LED strip and plastic crushed-ice diffusers. Leave a little bit of space around each mounting screw head so that you can attach the LED mounting assembly to the lamp pole after everything dries.
- I found it necessary to wait for a couple of days to let the silicone caulk dry. It is important to let it fully dry as the LED strip plus plastic crushed-ice diffusers will be held vertically, so must bind well to the Hot Wheels track.
- Once your LED strip assembly has dried completely, you can mount it to the pole using the 4 black wood screws (that should have been pre-assembled...see above).
- Also follow Erin's instructions for creating your touch sensor. I used a star design cut-out from the copper adhesive sheet for the touch sensor. Connect the wire which runs to A2 on your QT Py ESP32 to the copper star as Erin did in her instructions. I also used the rest of the copper sheet to make several other nice shapes that I mounted to the top of the base of the lamp.
This page (A Neopixel Floor Lamp with a Twist) was last updated on September 02, 2025.