I’ve always loved the immersive experience of ambient lighting behind TVs, the kind that matches your screen in real-time and spills colour onto the wall. The problem? Most of these systems rely on sync boxes that cost anywhere from $100 to $300.
So I went digging and discovered a DIY solution using an ESP8266 board and HyperHDR. The result? A beautiful, real-time screen-synced ambient glow for a fraction of the cost. And yes, it works perfectly with my LG TV.
Here’s how I did it, step-by-step, and how you can too.
What You’ll Need
- An LG Smart TV (webOS 3.5 or newer)
- WS2812B LED Strip – I used this LED from Amazon
- ESP8266 or ESP32 microcontroller (I used ESP8266 from Aliexpress)
- WLED firmware (for controlling the LEDs)
- HyperHDR (for syncing TV output with the lights)
A bit of patience and 30 minutes of your time.
I would skip the setup and installation process of installing WLED on the board. Here’s a video on YouTube about the process.
Step 1: Root Your LG TV with DejaVuln
This only works on LG TVs from 2017 and up (webOS 3.5+). If your TV is 2016 or older, this exploit won’t work.
Go to the GitHub repo here. You can also read more about it.
Download the latest release “dejavuln-autoroot-0.0.9.zip“, extract the contents, and copy them to the root folder of a USB stick.

Plug the USB into your LG TV.
Open the Music app on your TV, select the USB drive, and navigate to: lol$(sh$IFS$(find$IFS -> tmp -> [first file] and select it.
You’ll see a “file type not supported” message; that’s expected. Wait a couple of seconds, and the exploit will start.
After it installs, your TV may reboot automatically. If not, select Reboot Now when prompted.
Once it restarts, check your apps; you should now see the Homebrew Channel icon.
Step 2: Install PICAP and HyperHDR on Your TV
Launch the Homebrew app.

Inside, install:
- PicCap (captures screen content)
- HyperHDR (syncs with your LEDs)
Open PicCap, go to Settings, and make sure it is configured as below. You can also tweak the settings where required.

Go back to services and tap Start.
Open HyperHDR, and hit Start as well.
Step 3: Set Up the LED Strip & WLED
Flash WLED onto your ESP8266/ESP32 board.
You can use this WLED setup video as a guide.
Connect the WS2812B LED strip to the ESP board and mount it behind your TV
Power it on, and your WLED device should now be active.
Step 4: Configure HyperHDR on Your PC
On your PC, open a browser and enter the IP address of the HyperHDR running on your TV – It’s the same as your TV’s IP address (add port: 8090 at the end, e.g. http://192.168.0.105:8090)
Go to General Settings:

Rename the Default Instance name to something like TV LED
Or add a New Instance name to create a fresh one.
LED Hardware Setup:

Controller Type: WLED
Target IP/Hostname: Select your WLED device from the list
Leave other settings as default
Click Save
LED Layout:

Enter the number of LEDs you have on each side of the back of the TV. (top, bottom, left, right)
Use the input position (+ or -) to align the input direction with where your strip begins. Mine started almost at the bottom left corner
Save the layout
Final Tweaks: Remote Control + Sync
In the Remote Control tab, toggle on the relevant switches (you’ll see them in the UI below— match them to your setup).
I noticed that if you power off your TV, when you come back to this page, some of the options are back to default.

Click the TV Play icon on the top left menu. You should now see your screen preview and the LEDs responding live!

That’s it. If you notice the LED is not properly showing the correct colours on some of the locations, you can try moving the input positions on the LED layout page to properly align the colours.
Enjoy!
----------
If you liked this article, please subscribe to our YouTube Channel for tech news, reviews and video tutorials. You can also find us on Twitter, Instagram and Facebook.

