Sound controls

How to Create a Sound-Responsive Smart Ambient Light for Your TV or Monitor

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.

Required Skills

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.

Screenshot of ESP flasher tool to flash firmware to NodeMCU ESP32
Author created. Free to use without attribution.
  • 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.

picture showing circuit diagram to connect ws2812b mic nodemcu
NodeMCU (ESP8266) ESP32 WS2812B Microphone
g Earth Earth g
D4 D4 DI or Din (data input)
3V3 3V3 VDC
A0 GPIO36 Outside

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 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.

image showing installation and configuration of wled sound reactive led
  • 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.

Image showing adding a sound responsive surround LED to control using wled
  • 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.

image showing configure ambient light leds sound settings effects

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.

photo of a strip designed for led lighting

How to Make RGB LED Lights Display DIY Colors

Read more

About the Author