The sound-responsive DIY RGB LED strip that we are going to build reacts to music or sound coming from your TV, home theater or any other device. Besides being sound responsive, you can also choose from 118 different lighting effects. You can also create custom effects.
Once built, you can use it as an ambient light and install it behind the TV screen or on your gaming PC, even if your motherboard does not support RGB or ARGB (addressable RGB).
Things you will need
For this project, you will need the following items:
- A WS2812 addressable RGB LED strip. Get a non-waterproof roll of 5 meters.
- An ESP8266-based MCU, such as NodeMCU or D1 Mini. You can also use ESP32 (if you already have one).
- A microphone module. You can choose any or the one that is available at your location.
- Micro MEMS INMP401
- MAX4466 Electret Microphone
- MAX9814 Electret Microphone
- A 5V 3A power supply or better.
Soldering skills are required. However, if you have no previous experience or need help getting started, refer to our previous guide to learning how to solder.
Step 1: Download and flash the firmware
For this project, we will be using the WLED Sound Reactive project on GitHub.
- Download the latest stable version of WLED Sound Reactive for the ESP8266 or ESP32 board (depending on which one you are using).
- Also download and launch the ESPHome Flasher tool.
- Select the COM Port where ESP8266 or ESP32 is connected.
- Click on Browse to choose the WLED firmware.
- Click now Glow ESP and wait for the flash process to complete.
Step 2: Connect WS2812 to ESP8266/ESP32 board
Once the firmware is flashed, you can connect the WS2812B ARGB LED strip to the ESP32 or ESP8266 board. You can connect the ARGB power input directly to the VIN and GND pins of the ESP board or use a separate power supply to power the LED strip separately but with a common ground.
Refer to the following diagram and table to pair the RGB strip and mic to the ESP module.
|D4||D4||DI or Din (data input)|
If you don’t have a power supply or don’t want to invest in one, you can pair the LED strip directly with the NodeMCU or ESP32 and power the ESP using a micro USB cable. Although this works, it may damage the MCU and is therefore not recommended.
Step 3: Set up sound responsive backlighting
Once you have connected the WS2812B mic and LED strip to the ESP board, connect the 5V power supply to turn on the device.
- On your smartphone or PC, open Wi-Fi settings and connect to the WLED-AP network.
- Once connected, turn off mobile data, then open a web browser app, such as Chrome or Safari, on your smartphone.
- Visit IP address 126.96.36.199 and click Wi-Fi Settings.
- Type your Wi-Fi SSID and the password.
- Click on Register and login. The ESP will stop AP mode and connect to your Wi-Fi network.
- Open play store and install the DELW application.
- Open the WLED app and tap the + icon.
- Faucet Discover Lights… The module will automatically find the RGB strip connected to your Wi-Fi network.
- Press the check/check top icon.
- Then press the WLED-SoundReactive. This will load the control screen where you can change the color, pattern, effects, etc. However, before you can do that, you need to set it up.
- Faucet Config > LED Preferences.
- Count the number of LEDs after you stick them on the back of your TV or monitor and enter it into the Total number of LEDs domain.
- Below Hardware Setup on the same page, type ‘2’ in Pin, ‘0’ in To start up, and the last LED count in the Count domain. Faucet Save.
Step 4: Test the sound responsive LED strip and adjust the sensitivity
Now you can control the LED strip with the WLED app and change effects, brightness, etc. You can also adjust the sound sensitivity through the WLED settings according to your needs. To adjust the sound sensitivity, go to Config > Sound Settings. Two parameters are available:
- Crush: The minimum threshold at which lights will display any color or effect. The higher the value, the higher the pitch of the sound required to trigger the LEDs.
- To win: Sound sensitivity. The higher it is, the more sensitive it is to sound.
If you use INM643type 35 in Squelch and 12 in Gain.
After entering the values in the Crush and To win fields, touch Save. You can play around with the settings until you get the best experience for your setup.
Below Effects, you will find 15 responsive sound effects (marked with *). You can switch to any effect or choose a non-sound-responsive effect. the *Noise meter is recommended for most. You can choose your palette to change the color or create a preset using a combination of palettes and effects. Moreover, you can change the LED effect speed, intensity and brightness to customize the effects.
Step 5: Integration with Home Assistant (optional)
You can configure Home Assistant to automate this sound-responsive smart ambient light and control effects, brightness, and other settings from a single panel. It also gives you remote access to all your sound-reactive smart ambient lights. Also, you can enable MQTT or emulate the band like Philips Hue (under Configuration > Synchronization interfaces) to control the band using the Alexa voice assistant.
Configure multiple WLEDs and sync them together
Congratulations: you have now created a sound responsive ambient backlight for your TV or monitor. If you want, you can set up multiple WS2812 ARGB LED strips in your room or home and synchronize them all (via built-in UDP protocol support) to play the same effect simultaneously with just a few clicks. These DIY strips can be controlled individually or in groups using a dedicated Android app available on the Play Store as shown in this guide.
You can also use voice assistants such as Alexa to control the RGB strip, change brightness or color. Plus, you can add it into Home Assistant to control all your RGB strips from a single dashboard.
How to Make RGB LED Lights Display DIY Colors
About the Author