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)

Copertina Wled lamp con ESP32 v4.png
Progetto senza titolo - 2026-01-17T174443.734.png
DSC01012.JPG
Progetto senza titolo - 2026-01-17T174419.324.png
Timeline 1_00_25_09_07.jpg

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

Progetto senza titolo (76).png
Progetto senza titolo (77).png
Aggiungi un titolo.png

➡️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

Progetto senza titolo (75).png
Progetto senza titolo (72).png
Progetto senza titolo (74).png
Progetto senza titolo (73).png

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

Progetto senza titolo (87).png
Progetto senza titolo (88).png

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

Progetto senza titolo (89).png
Progetto senza titolo (90).png
Progetto senza titolo (91).png

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

Progetto senza titolo (94).png
Progetto senza titolo (95).png
Progetto senza titolo (93).png
Progetto senza titolo (92).png

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

Progetto senza titolo (96).png
Progetto senza titolo (97).png
Progetto senza titolo (98).png
Progetto senza titolo (99).png

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

Progetto senza titolo (100).png
Progetto senza titolo - 2026-01-17T001852.630.png
Progetto senza titolo - 2026-01-17T001917.072.png
Progetto senza titolo - 2026-01-17T001823.454.png

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

Progetto senza titolo - 2026-01-17T002243.048.png
Progetto senza titolo - 2026-01-17T002350.853.png
Progetto senza titolo - 2026-01-17T002352.599.png
Progetto senza titolo - 2026-01-17T002355.316.png
Progetto senza titolo - 2026-01-17T003338.120.png

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

lampada wled esp32 audioreactive 2.png
lampada wled esp32 audioreactive 1.png
WLED ESP32 Audio Reactive Lamp 2.png
WLED ESP32 Audio Reactive Lamp 1.png

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

WLED ESP32 Audio Reactive Lamp 6.png
WLED ESP32 Audio Reactive Lamp 7.png
WLED ESP32 Audio Reactive Lamp 5.png

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

WLED ESP32 Audio Reactive Lamp 10.png
WLED ESP32 Audio Reactive Lamp 11.png
WLED ESP32 Audio Reactive Lamp 12.png
WLED ESP32 Audio Reactive Lamp 14.png

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)

WLED ESP32 Audio Reactive Lamp 15.png
WLED ESP32 Audio Reactive Lamp 16.png
WLED ESP32 Audio Reactive Lamp 18.png

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.

🖥️Install & Configure WLED

WLED ESP32 Audio Reactive Lamp 20.jpg
WLED ESP32 Audio Reactive Lamp 21.jpg
WLED ESP32 Audio Reactive Lamp 22.jpg

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:

  1. LED count: 96
  2. LED GPIO: 33
  3. Relay GPIO: 25
  4. INMP441: SCK 26, WS 27, SD 14

🎨Create the “WLED Logo” Preset

WLED ESP32 Audio Reactive Lamp 25.png
DSC01012.JPG

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)

WLED ESP32 Audio Reactive Lamp 29.png
WLED ESP32 Audio Reactive Lamp 28.png
WLED ESP32 Audio Reactive Lamp 27.png
WLED ESP32 Audio Reactive Lamp 26.png

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

WLED ESP32 Audio Reactive Lamp 33.png
WLED ESP32 Audio Reactive Lamp 34.png
WLED ESP32 Audio Reactive Lamp 31.png

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

WLED ESP32 Audio Reactive Lamp 32.png
WLED ESP32 Audio Reactive Lamp 35.png
WLED ESP32 Audio Reactive Lamp 31.png

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:

  1. custom presets 🎨
  2. Audio Reactive effects 🔊
  3. advanced segments and animations ✨
  4. 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!