Audio Reactive WLED LED Lamp (ESP32 + WS2812B + 3D Printing)
by dbmaking in Circuits > LEDs
178 Views, 1 Favorites, 0 Comments
Audio Reactive WLED LED Lamp (ESP32 + WS2812B + 3D Printing)
In this project we build an Audio Reactive LED lamp inspired by the WLED logo, using an ESP32 and a 5V WS2812B strip (96 LEDs). The lamp is fully 3D printed and designed for clean, hidden internal wiring. You can either use the custom PCB with an INMP441 mic and relay, or install a commercial WLED controller (if it fits in the base). The final result is a desk-ready showpiece lamp with a WLED logo preset, RGB effects, and Sound Reactive mode, also powered by a USB power bank.
Supplies
➡️AliExpress Link – Full parts list
1x ESP32 WROOM 30 Pin Type-C:https://s.click.aliexpress.com/e/_c3wRWuex
1x INMP441 Digital Microphone:https://s.click.aliexpress.com/e/_c3RlGSoJ
1x 1-Channel Relay Module 5V 10A:https://s.click.aliexpress.com/e/_c2JBgEA3
1x WS2812B LED Strip 60 LEDs/m 5V (Length = 96 LEDs):https://s.click.aliexpress.com/e/_c4l0l5rp
1x Level Shifter SN74AHCT125N:https://s.click.aliexpress.com/e/_c3rDI3EJ
1x DIP14 Socket for Level Shifter:https://s.click.aliexpress.com/e/_c3KrUtdd
1x Standard PCB Fuse Holder + 3A Fuse:https://s.click.aliexpress.com/e/_c4TFTTiR
1x (Optional) Standard 12V Fuse Kit:https://s.click.aliexpress.com/e/_c4NzyQI3
1x Electrolytic Capacitor 35V 1000uF:https://s.click.aliexpress.com/e/_c3O96mOj
1x Ceramic Capacitor 100nF:https://s.click.aliexpress.com/e/_c2xiUtqB
1x DC099 Female Connector 5.5x2.1mm:https://s.click.aliexpress.com/e/_c38ROhwn
2x 15-Pin Female Pin Header 2.54mm:https://s.click.aliexpress.com/e/_c3YCubxv
2x KF301 2-Pin Connector:https://s.click.aliexpress.com/e/_c4TnTwq7
1x KF301 3-Pin Connector:https://s.click.aliexpress.com/e/_c4TnTwq7
12x M2x3.2 Heat-Set Threaded Inserts:https://s.click.aliexpress.com/e/_c4VHb5xZ
4x M2x5mm Button Head Screws:https://s.click.aliexpress.com/e/_c3EXftEr
8x M2x5mm Countersunk Screws:https://s.click.aliexpress.com/e/_c33GR4kn
1x JST XH2.54 3 & 5 Pin Connectors Set:https://s.click.aliexpress.com/e/_c4pqG1Zl
1x JST XH2.54 3-Pin 10cm Cable Connector:https://s.click.aliexpress.com/e/_c3C8bkgJ
1x JST XH2.54 5-Pin 20cm Cable Connector:https://s.click.aliexpress.com/e/_c3C8bkgJ
✅ Gerber Files + EasyEDA Project: LINK
✅ Wiring Diagram: LINK
✅ 3D Printing Files: LINK
🎯Project Overview
This lamp is a real 3D version of the WLED logo with 96 addressable LEDs, controlled by an ESP32 running WLED. It also supports Audio Reactive mode using an INMP441 digital microphone.
The base is designed to fit both a DIY PCB controller and many commercial WLED controllers, making this project easy to replicate even without advanced soldering.
🧠Understanding the 3D Layout
The lamp is made of four LED “columns” (W-L-E-D) plus a front ESP32 section. I designed internal channels for the wires to keep everything hidden and clean.
The data wire runs through the arms where possible, while power wires (5V/GND) go through the long leg and the base.
🔥Install Heat-Set Inserts
To make the lamp strong and serviceable, we install heat-set inserts into the bases. This allows screws to hold properly without damaging the plastic over time.
After inserting them, we join the two base parts using a bracket and two-part epoxy for a strong bond.
If you want to build my heat-set insert press, here’s the link to the Instructables project. [LINK]
🧱Assemble the 3D Printed Frame
Here we glue all decorative parts: USB connector, antenna, diffusers, and arm supports. Cyanoacrylate glue works great because it sets fast and speeds up assembly.
Make sure every part is fully seated accurate assembly also improves internal wire routing.
🦵Build the LED Legs
Each LED module must be oriented correctly: when viewed from the front, long leg on the left, short leg on the right.
A simple jig helps keep everything at 90°, producing a cleaner and more symmetrical result.
🌀Install WS2812B LED Strips
The 20-LED strips must be installed following the arrow direction: each column must have data flowing from bottom to top.
A helpful trick is to pre-coil the strip so it keeps a spring shape, making it easier to stick neatly onto the holder.
While applying the LED strip, it’s recommended to add a small drop of glue at the beginning and at the end, to prevent it from peeling off or moving over time.
🟦ESP32 Section (16 LEDs) + Base Installation
The ESP32 section uses a 16-LED strip with data flowing left to right. To simplify soldering, the first and last LEDs are bent 90° and left flat.
This makes it easier to connect wires coming through the internal cable channels.
While applying the LED strip, it’s recommended to add a small drop of glue at the beginning and at the end, to prevent it from peeling off or moving over time.
Once the LED strip is installed on the ESP32 section, we can mount everything onto the base: prepare the base (with the covers already screwed in place) and glue the ESP32 model into its rectangular slot, pushing it fully into position. Then add a bit of glue into the dedicated holes and fit all the LED columns into the base, making sure everything is fully seated and properly aligned before moving on to the wiring.
🔧Solder & Mount the PCB + Relay Installation
Before soldering, always check orientation marks: both the DIP14 socket and the level shifter have a half-circle indicator that must match the PCB silkscreen. Also, the electrolytic capacitor is polarized, so make sure the positive and negative leads are placed correctly.
After completing all soldering, install the level shifter and the fuse, then mount the PCB to the base using two M2 screws. At this stage you can also install the pre-wired power connector.
Finally, mount the relay module into its slot using two M2x5 flat head screws and the 3D printed spacers, so it stays raised and perfectly aligned, leaving enough room for clean cable routing.
🎤Install the INMP441 Microphone
To save space and keep a clean build, the microphone is wired directly without protruding header pins.
After placing it in its slot, hot glue is used to lock it in place and prevent vibrations or movement.
🔌Wire the LED Columns
Start by connecting the end of the ESP32 section to the first LED strip, then continue wiring between columns.
The data wire can run through the arms, while power wires run through the long leg. If routing data through the arms is too hard, you can route it together with the power cables.
⚡Final Connections (WLED + Relay)
The terminal block keeps wiring clean and organized. In my build I used the relay to control LED strip power directly from WLED, wiring +5V to COM and output to NO.
Downloads
🖥️Install & Configure WLED
After flashing WLED, If you don’t know how to do it, I’ll leave you the link to one of my videos where I explain it step by step [LINK], set LED count, data pin, relay pin and audio reactive usermod.
My settings:
- LED count: 96
- LED GPIO: 33
- Relay GPIO: 25
- INMP441: SCK 26, WS 27, SD 14
🎨Create the “WLED Logo” Preset
By creating one segment per letter you can perfectly recreate the WLED logo and save it as a startup preset.
The lamp will boot in the classic WLED look, but you can switch to any effect instantly.
🔋Commercial Controller + Power Bank (20mm Max Height)
If you don’t want to use the DIY PCB controller, you can easily switch to a commercial WLED controller. In that case, you can either connect the LED strip wires directly to the controller, or use a pre-wired quick connector setup to keep things cleaner and faster to assemble.
One of the best features of this lamp is that it can also run from a USB power bank, making it perfect for portable setups, desks, events, or any situation where you don’t want an external power supply. Alternatively, you can use a standard USB wall charger, as long as it provides enough current.
✅ Important: the power bank must be properly sized to support the LED strip current draw, especially when using bright effects or full white at 100% brightness.
⚠️ Important: to fit the controller or power bank inside the base, they must not exceed 20mm in height.
If your controller or power bank is thicker, you can still place it on the back side of the lamp near the cable exit hole it will stay hidden and won’t ruin the look of the project.
✅Final Assembly
Close the lamp using M2 screws and install the diffusers to form the WLED lettering. After a final check, enjoy effects, presets, and audio reactive control from your phone over Wi-Fi.
🎉Final Thoughts
We made it to the end of the project! This Audio Reactive WLED LED Lamp combines the best of three worlds: 3D printing, electronics, and full WLED customization. The final result is a modern, eye-catching lamp—perfect for a desk, a gaming setup, or as a decorative piece in any room.
What makes this build truly special is its flexibility: you can go all-in with the custom PCB and soldered components, or keep it simple by using a commercial WLED controller (as long as it fits in the base). On top of that, powering it with a USB power bank makes it great for portable use too.
From here, you can have fun with:
- custom presets 🎨
- Audio Reactive effects 🔊
- advanced segments and animations ✨
- and endless WLED experiments 🚀
If you enjoyed this project and found it inspiring, please leave a heart 💖and share it with your friends.
See you in the next project!