# Ambient Video Lighting with HyperHDR

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/141/110/medium800thumb/hacks_rainbowRoad.jpg?1762979050 )

If you find yourself feeling nostalgic for the [Adalight project](https://learn.adafruit.com/adalight-diy-ambient-tv-lighting), then this guide is for you! You can run [HyperHDR](https://github.com/awawa-dev/HyperHDR), an open-source ambient lighting system, on a Raspberry Pi and plug in a Pixel Trinkey to control NeoPixels to light up in colorful harmony with your TV or monitor. Great for immersive gaming sessions or moody movie nights.

https://www.youtube.com/shorts/hNzoBn9OQhQ

The NeoPixels are mounted at a 45° angle so that they project their color onto the wall around the TV

![](https://cdn-learn.adafruit.com/assets/assets/000/141/115/medium640/hacks_edited_P1480543.jpg?1762980204)

HyperHDR requires two components: the host running the HyperHDR software and a device that connects to the host to control the NeoPixels via serial or SPI. In this build, a Raspberry Pi 5 is used to run the software and a Pixel Trinkey runs an Arduino script that reads a serial output over USB to control the NeoPixels. This protocol is referred to as "adalights" in the HyperHDR software.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/116/medium640/hacks_edited_P1480538.jpg?1762980312)

## Parts
Featured
### Adafruit Pixel Trinkey - USB Key for NeoPixel / DotStar Driving

[Adafruit Pixel Trinkey - USB Key for NeoPixel / DotStar Driving](https://www.adafruit.com/product/5953)
Blast-off to Pixel Planet with the **Adafruit Pixel Trinkey** , a co-pilot for those who like to shine bright. This little microcontroller board plugs into your computer's USB port and can drive tons of NeoPixel (SK6812, WS2812, etc) or DotStar (e.g. AP102) LEDs without having...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5953)
[Related Guides to the Product](https://learn.adafruit.com/products/5953/guides)
![Angled Shot of the Adafruit Pixel Trinkey - USB Key for NeoPixel / DotStar Driving.](https://cdn-shop.adafruit.com/640x480/5953-00.jpg)

Primary: The amount of NeoPixels you'll need will vary depending on the size of your TV. Check out the [How Many NeoPixels? section](https://learn.adafruit.com/ambient-video-lighting-with-hyperhdr/frame-assembly#while-youre-here-how-many-neopixels-3211415) on the Frame Assembly page.

Featured
### Adafruit NeoPixel Digital RGBW LED Strip - White PCB 60 LED/m 4m

[Adafruit NeoPixel Digital RGBW LED Strip - White PCB 60 LED/m 4m](https://www.adafruit.com/product/2842)
What is better than smart RGB LEDs? Smart RGB+White LEDs! These NeoPixels now have 4 LEDs in them (red, green, blue _and_ white) for excellent lighting effects.&nbsp;These LED strips are fun and glowy, and you can control each LED individually!

**This is the 60...**

In Stock
[Buy Now](https://www.adafruit.com/product/2842)
[Related Guides to the Product](https://learn.adafruit.com/products/2842/guides)
![Adafruit NeoPixel Digital RGB LED Strip with different rainbow and white lights moving around](https://cdn-shop.adafruit.com/product-videos/640x480/2842-07.jpg)

Featured
### Clear Snap-on Enclosure for Adafruit Pixel Trinkey

[Clear Snap-on Enclosure for Adafruit Pixel Trinkey](https://www.adafruit.com/product/6013)
Here is a cute and minimal enclosure for your [Pixel Trinkey](https://www.adafruit.com/product/5953)&nbsp;to keep it safe during use and transport. This case has been custom-designed and 3D printed to accommodate the reset button, 3-pin JST SH port, and the 4 terminal block outputs....

In Stock
[Buy Now](https://www.adafruit.com/product/6013)
[Related Guides to the Product](https://learn.adafruit.com/products/6013/guides)
![Angled shot of USB key PCB in a clear plastic enclosure.](https://cdn-shop.adafruit.com/640x480/6013-00.jpg)

Featured
### HDMI Input to USB 2.0 Video Capture Adapter

[HDMI Input to USB 2.0 Video Capture Adapter](https://www.adafruit.com/product/4669)
Here's&nbsp;one of the easiest capture solutions for getting HDMI data into your computer or Raspberry Pi, really any system with a USB port..

Use this capture device to convert a video signal from a camera (or another device) into a digital format your computer can recognize.&nbsp;...

In Stock
[Buy Now](https://www.adafruit.com/product/4669)
[Related Guides to the Product](https://learn.adafruit.com/products/4669/guides)
![Overhead shot of black USB-A-to-HDMI video capture adapter.](https://cdn-shop.adafruit.com/640x480/4669-10.jpg)

Featured
### Raspberry Pi 5 - 4 GB RAM

[Raspberry Pi 5 - 4 GB RAM](https://www.adafruit.com/product/5812)
The Raspberry Pi 5&nbsp;is the newest Raspberry Pi computer, and the Pi Foundation knows you can always make a good thing _better_! And what could make the Pi 5 better than the 4? How about a&nbsp;_faster_ processor, USB 3.0 ports, and an updated Gigabit Ethernet chip with PoE...

In Stock
[Buy Now](https://www.adafruit.com/product/5812)
[Related Guides to the Product](https://learn.adafruit.com/products/5812/guides)
![Angled shot of green Raspberry Pi 5 microcontroller.](https://cdn-shop.adafruit.com/640x480/5812-01.jpg)

Featured
### Official Raspberry Pi Power Supply 5.1V 3A with USB C

[Official Raspberry Pi Power Supply 5.1V 3A with USB C](https://www.adafruit.com/product/4298)
The official Raspberry Pi USB-C power supply is here! And of course, we have 'em in classic Adafruit black! Superfast with just the right amount of cable length to get your Pi 4 projects up and running!

Best for use with Pi 4 series, [Pi...](https://www.adafruit.com/product/5814)

In Stock
[Buy Now](https://www.adafruit.com/product/4298)
[Related Guides to the Product](https://learn.adafruit.com/products/4298/guides)
![Angled shot of Official Raspberry Pi Power Supply 5.1V 3A with USB C with Power plug facing down. ](https://cdn-shop.adafruit.com/640x480/4298-04.jpg)

Featured
### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

In Stock
[Buy Now](https://www.adafruit.com/product/3299)
[Related Guides to the Product](https://learn.adafruit.com/products/3299/guides)
![Black Nylon Screw and Stand-off Set with M2.5 Threads, kit box](https://cdn-shop.adafruit.com/640x480/3299-00.jpg)

### Part: USB Extenders
quantity: 1
USB 3.0
[USB Extenders](https://www.amazon.com/dp/B0793P8XJK?)

### HDMI Splitter

You'll need an HDMI splitter to send the video signal from your source to the HDMI capture card and your display. Not all splitters support [CEC control](https://en.wikipedia.org/wiki/Consumer_Electronics_Control) (ex: turning your TV on/off with your streaming box remote). If CEC control matters for your setup then make sure to get a splitter that supports it.

Info: Consider if your setup needs HDMI CEC support. If it does, make sure that the HDMI splitter you choose supports it.

### Part: HDMI Splitter without CEC Support
quantity: 1
1 in / 2 out, no CEC support
[HDMI Splitter without CEC Support](https://www.amazon.com/dp/B07VP37KMB)

### Part: HDMI Splitter with CEC Support
quantity: 1
1 in / 2 out, CEC support
[HDMI Splitter with CEC Support](https://www.bestbuy.com/product/insignia-hdmi-2-output-splitter-with-hdr-pass-through-black/J2FPJK92TP)

### Frame

You'll build a frame that the NeoPixel strip mounts to. For this guide, [3/8-in x 2-in x 3-ft pine boards](https://www.lowes.com/pd/Common-3-8-in-x-2-in-x-3-ft-Actual-0-375-in-x-1-5-in-x-3-ft-Pine-Board/1000834156) were used. The number of boards you'll need will be determined by the size of your frame. [The Frame Assembly page](https://learn.adafruit.com/ambient-video-lighting-with-hyperhdr/frame-assembly#how-much-material-3211387) will go over the steps to determine the size.

Primary: The amount of material you'll need for your frame will be determined by the size of your TV. The [Frame Assembly page](https://learn.adafruit.com/ambient-video-lighting-with-hyperhdr/frame-assembly) will walk you through how to determine how much material you'll need.

### Part: 3/8-in x 2-in x 3-ft Pine Board
quantity: 1
The number of boards you'll need depends on the size of your frame
[3/8-in x 2-in x 3-ft Pine Board](https://www.lowes.com/pd/Common-3-8-in-x-2-in-x-3-ft-Actual-0-375-in-x-1-5-in-x-3-ft-Pine-Board/1000834156)

# Ambient Video Lighting with HyperHDR

## Circuit Diagram

![](https://cdn-learn.adafruit.com/assets/assets/000/141/122/medium800/hacks_hyperhdr_pixeltrinkey_bb.png?1762983250 )

- **NeoPixel GND** to **Pixel Trinkey - terminal block (black wire)**
- **NeoPixel Din** to **Pixel Trinkey D terminal block (blue wire)**
- **NeoPixel +5V** to **Pixel Trinkey + terminal block (red wire)**

# Ambient Video Lighting with HyperHDR

## HDMI Signal Diagram

![](https://cdn-learn.adafruit.com/assets/assets/000/141/153/medium800/hacks_hyperhdr_video_flowchart.png?1763044797 )

The signal flow for HyperHDR can feel a little complicated if you haven't spent a lot of time routing video signals before. Here is a flow chart that explains how the setup works:

1. **Video source** (video game console, DVD player, streaming box, etc) to the **HDMI splitter input**
2. **HDMI splitter output 1** to your **display** (TV, monitor, etc)
3. **HDMI splitter output 2** to your **USB HDMI capture card input**
4. **USB HDMI capture card** via USB to your **Raspberry Pi** running the HyperHDR software
5. **Raspberry Pi** to the **Pixel Trinkey** via USB running the HyperHDR Arduino script
6. **Pixel Trinkey** to **NeoPixels**

## AV Gear

There are two pieces of AV gear that you will need: an HDMI splitter and a USB HDMI capture card. There are recommended splitters and capture cards in this [HyperHDR blog post](https://www.hyperhdr.eu/2023/02/ultimate-guide-on-how-to-build-led.html#chapter2b) that have been tested with HyperHDR.

For HDMI splitters, keep in mind that not all splitters support [CEC control](https://en.wikipedia.org/wiki/Consumer_Electronics_Control) (ex: turning your TV on/off with your streaming box remote). If CEC control matters for your setup then make sure to get a splitter that supports it. On the [Overview page](https://learn.adafruit.com/ambient-video-lighting-with-hyperhdr/overview#hdmi-splitter-3211355), there is an HDMI splitter with CEC control and one without in the parts list.

# Ambient Video Lighting with HyperHDR

## 3D Printing

![](https://cdn-learn.adafruit.com/assets/assets/000/141/117/medium800/hacks_edited_P1480482.jpg?1762980516 )

You can 3D print mounts that pair with the wooden frame made from 3/8-in x 2-in boards. The number of clips you need will be determined by the size of your frame.&nbsp;The STL files can be downloaded directly below or from Printables.

[HyperHDR-CAD-Files.zip](https://cdn-learn.adafruit.com/assets/assets/000/141/121/original/HyperHDR-CAD-Files.zip?1762982969)
[Printables Download](https://www.printables.com/model/1479270-frame-and-neopixel-mounts-for-hyperhdr)
The wooden frame sits in the two stand pieces. The NeoPixel clips snap onto the wooden pieces.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/118/medium640/hacks_edited_P1480489.jpg?1762980535)

The NeoPixel strip is secured into the channels on the clips.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/119/medium640/hacks_edited_P1480486.jpg?1762980613)

The Raspberry Pi can mount to either stand piece with mounting holes.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/120/medium640/hacks_ediited_P1480491.jpg?1762980642)

# Ambient Video Lighting with HyperHDR

## Pixel Trinkey Arduino IDE Setup

The Pixel Trinkey uses an ATSAMD21 chip, and you can pretty easily get it working with the Arduino IDE.&nbsp;

Now that you have added the appropriate URLs to the Arduino IDE preferences in [Arduino Setup page](https://learn.adafruit.com/adafruit-pixel-trinkey/setup), you can open the **Boards Manager** by navigating to the **Tools-\>Board** &nbsp;menu.

![](https://cdn-learn.adafruit.com/assets/assets/000/028/791/medium800/adafruit_products_boardmanager.png?1448652571)

Once the Board Manager opens, click on the category drop down menu on the top left hand side of the window and select **All**. You will then be able to select and install the boards supplied&nbsp;by the URLs added to the preferences.

Warning: Remember you need SETUP the Arduino IDE to support our board packages - see the [Arduino Setup page](https://learn.adafruit.com/adafruit-pixel-trinkey/setup) on how to add Adafruit's URL to the preferences

## Install SAMD Support

First up, install the latest **Arduino SAMD Boards** (version **1.6.11&nbsp;** or later)

You can type **Arduino SAMD** in the top search bar, then when you see the entry, click **Install**

![](https://cdn-learn.adafruit.com/assets/assets/000/028/792/medium800/adafruit_products_arduinosamd162.png?1448652786)

## Install Adafruit SAMD

Next you can install the Adafruit SAMD package to add the board file definitions

Make sure you have **Type All** selected to the left of the _Filter your search..._ box

You can type **Adafruit SAMD** in the top search bar, then when you see the entry, click **Install**

![](https://cdn-learn.adafruit.com/assets/assets/000/028/794/medium800/adafruit_products_adafruitsamd.png?1448652973)

Even though in theory you don't need to - I recommend rebooting the IDE

**Quit and reopen&nbsp;the Arduino IDE** to ensure that all of the boards are properly installed. You should now be able to select and upload to the new boards listed in the **Tools-\>Board** menu.

Select the **Adafruit Pixel Trinkey M0 (SAMD21)**.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/124/medium800/adafruit_products_modBSPselect.jpg?1762983420 )

## Install Drivers (Windows 7 & 8 Only)

When you plug in the board, you'll need to possibly install a driver

Click below to download our Driver Installer

[Download Latest Adafruit Drivers package](https://github.com/adafruit/Adafruit_Windows_Drivers/releases)
Download and run the installer

![](https://cdn-learn.adafruit.com/assets/assets/000/031/260/medium800/adafruit_products_1download.png?1457992779)

Run the installer! Since we bundle the SiLabs and FTDI drivers as well, you'll need to click through the license

![](https://cdn-learn.adafruit.com/assets/assets/000/031/261/medium800/adafruit_products_2lic.png?1457992808)

Select which drivers you want to install, the defaults will set you up with just about every Adafruit board!

![](https://cdn-learn.adafruit.com/assets/assets/000/046/664/medium800/adafruit_products_driver-installer-v2000.png?1505790219)

Click **Install** to do the installin'

![](https://cdn-learn.adafruit.com/assets/assets/000/031/263/medium800/adafruit_products_4complete.png?1457992862)

## Compilation Issues

If you get an alert that looks like

**Cannot run program "{runtime.tools.arm-none-eabi-gcc.path}\bin\arm-non-eabi-g++"**

Make sure you have installed the **Arduino SAMD** boards package, you need _both_ Arduino & Adafruit SAMD board packages

![](https://cdn-learn.adafruit.com/assets/assets/000/028/798/medium800/adafruit_products_gppnotfound.png?1448653960)

## Manually bootloading

If you ever get in a 'weird' spot with the bootloader, or you have uploaded code that crashes and doesn't auto-reboot into the bootloader, click the **RST** button **twice** (like a double-click)to get back into the bootloader.

**The red LED will pulse and/or RGB LED will be green, so you know that its in bootloader mode.**

Once it is in bootloader mode, you can select the newly created COM/Serial port and re-try uploading.

![](https://cdn-learn.adafruit.com/assets/assets/000/028/799/medium800/adafruit_products_bootloadport.png?1448654424)

You may need to go back and reselect the 'normal' USB serial port next time you want to use the normal upload.

## Ubuntu&nbsp;& Linux Issue Fix

&nbsp;[Follow the steps for installing Adafruit's udev rules on this page.](../../../../adafruit-arduino-ide-setup/linux-setup#udev-rules)

# Ambient Video Lighting with HyperHDR

## Pixel Trinkey Code

The Pixel Trinkey runs Arduino code that reads serial data from HyperHDR to control the attached NeoPixels. The code is based on the [HyperSerialESP32](https://github.com/awawa-dev/HyperSerialESP32) and [HyperSerialPico](https://github.com/awawa-dev/HyperSerialPico) projects. These are maintained by the HyperHDR maintainer and work with ESP32 or RP2040-based boards respectively.&nbsp;

## Install the NeoPixel Library

You can install the library for this project using the Library Manager in the Arduino IDE.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/154/medium800/hacks_Arduino_Open_Library_Manager.png?1763046810 )

Click the **Manage Libraries...** menu item, search for **Adafruit NeoPixel** , and select the **Adafruit NeoPixel** library:

![](https://cdn-learn.adafruit.com/assets/assets/000/141/155/medium800/hacks_Screenshot_2025-11-13_101717.png?1763047049 )

Info: There are no additional dependencies needed for the NeoPixel library.

## Code

Before uploading the code to your Trinkey, you'll want to modify some user parameters at the top for your setup.

- Update the `LED_COUNT` to the number of NeoPixels you are using in HyperHDR. These numbers need to match for a handshake to occur between HyperHDR and the Pixel Trinkey.
- `COLOR_CORRECT_RED`, `COLOR_CORRECT_GREEN` and `COLOR_CORRECT_BLUE` adjust the color temperature for the RGBW NeoPixels. The default values were used with the RGBW strip from the Adafruit shop.
- Update `LED_TYPE` for the type of NeoPixels you are using. RGBW type are suggested by the HyperHDR project. The `USE_RGBW` define will need to be commented out if you are _NOT_ using RGBW NeoPixels.

Warning: Remember, the NeoPixel count in the Arduino script has to match the NeoPixel count in HyperHDR!

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Pixel_Trinkey_HyperHDR/Pixel_Trinkey_HyperHDR.ino

After updating those values (mainly the `LED_COUNT` variable), you can upload the sketch to your board. On boot, you'll see the first 8 pixels light up red, green and then blue. This will let you know that everything is okay on the Pixel Trinkey side of things.

# Ambient Video Lighting with HyperHDR

## HyperHDR Setup

The HyperHDR project has excellent documentation on how to install and use it. For this guide, you'll [install it on Raspberry Pi OS](https://github.com/awawa-dev/HyperHDR/wiki/Installation#linux) but you can reference the [HyperHDR README](https://github.com/awawa-dev/HyperHDR/wiki/Installation) for instructions on how to install it for Windows, LibreElec, Linux or macOS.

# Prerequisite Pi Setup!

First, follow&nbsp;[these instructions](https://www.raspberrypi.com/documentation/computers/getting-started.html#installing-the-operating-system)&nbsp;for setting up your Raspberry Pi. In a nutshell:

- [Download](https://www.raspberrypi.com/software/)&nbsp;Raspberry Pi imager&nbsp;
- Insert SD card in your computer
- Pick device (Pi 4 or Pi 5 are good choice)
- Raspberry Pi OS 64-Bit
- From Customizations General:
  - WiFi credentials: enter your access point SSID and password
  - Set locale settings for your time zone and keyboard layout

- From Customizations Services:
  - Enable SSH with password authentication

- Chose your SD card from the storage options
- Write to the SD card

[The Pi Foundation has tons of guides as well](https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started)

## Installation

After setting up Raspberry Pi OS, open a terminal window and [enter the following commands](https://github.com/awawa-dev/HyperHDR/wiki/Installation#linux):

```terminal
wget https://github.com/awawa-dev/HyperHDR/releases/download/v21.0.0.0/HyperHDR-21.0.0.0-Linux-aarch64.deb
sudo apt install ./HyperHDR-21.0.0.0-Linux-aarch64.deb
sudo systemctl enable hyperhdr@pi.service
```

This fetches the HyperHDR release, installs it and then enables the system service for it. By enabling the service, it will automatically run on boot.

## Web GUI Access

The HyperHDR GUI is available on a port on your network after setup. You can access it directly on the Raspberry Pi or on another device on your network. If you're accessing it on the Pi, navigate to this address in the browser:

[http://localhost:8090/](http://localhost:8090/)

If you're accessing it on another device on your network, navigate to this address in your browser:

[http://pi.host:8090/](http://pi.host:8090/)

Update `pi` to your Raspberry Pi username.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/161/medium800/hacks_Screenshot_2025-11-14_121459.png?1763140512 )

After navigating to the GUI, you'll see the **Overview page** where you can see your system status at a glance along with the navigation menu on the left side of the screen.

## Configuration

There are a lot of settings for HyperHDR and there is a [detailed guide available](https://github.com/awawa-dev/HyperHDR/wiki/Quick-start) in the repository as a reference. The steps below will get you up and running with the setup used in this guide.

### LED Hardware
First, navigate to the **LED Hardware** section. You'll select the settings for the Pixel Trinkey and your NeoPixels. On the **LED Controller tab** , select these settings:

- Controller type: **adalight**
- RGB byte order: **RGB**
- Output path: **Auto**
- **Select "High speed serial AWA protocol"**
- Baudrate: **2000000**

![](https://cdn-learn.adafruit.com/assets/assets/000/141/169/medium640/hacks_Screenshot_2025-11-14_121627.jpg?1763143732)

If you're using RGBW NeoPixels, **check off White channel calibration** and enter **50%** for **White channel limit** and update the red, green and blue values to dial in the colors. The values below were used with the RGBW NeoPixels from the Adafruit shop.

When everything is setup, click the **Save settings** button.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/170/medium640/hacks_Screenshot_2025-11-14_121646.jpg?1763143766)

### LED Layout

The **LED Layout tab** lets you configure where your NeoPixels are placed on the frame. As a result, you'll want to revisit this step after you finish assembling your frame.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/163/medium800/hacks_Screenshot_2025-11-14_121827.png?1763140775 )

You'll want to count how many pixels are going across the **Top** , **Bottom** , **Left** and **Right** sides of the frame. **Enter each of those numbers** into their respective boxes. The total needs to match the `LED_COUNT` value in your Pixel Trinkey Arduino code. If they don't then the NeoPixels will not light up.

The&nbsp; **Input Position** determines where the first NeoPixel (index 0 on the strand) is located. By default, it places it in the top left corner.

When everything is configured, press the **Save Layout** button to save.

Warning: Remember, the NeoPixel count in the Arduino script has to match the NeoPixel count in HyperHDR!

### Video Capturing
The **Video Capturing tab** is where you'll configure your USB capture card settings. To enable the capture card, **check off Enable USB capture** and then click **Save settings**.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/171/medium640/hacks_Screenshot_2025-11-14_122012.jpg?1763143810)

Under the **USB Capture section** , you should be able to keep the **default Automatic settings** , but there are a lot of adjustable settings if you find you need to tweak anything.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/172/medium640/hacks_Screenshot_2025-11-14_122037.jpg?1763143834)

### Effects

The **Effects tab** lets you setup an LED effect that animates on boot. This can be handy to know that your HyperHDR instance is starting up correctly and its recognizing your serial device and NeoPixels.

Under **Boot effect** , **check off** the box next to **Activate**. Then, select a **Type** ( **Color** or **Effect** ) and then a color or Effect from the dropdown below that. You can adjust the **Duration** (in milliseconds) as well. When you're done, click **Save settings**.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/173/medium640/hacks_Screenshot_2025-11-14_122056.jpg?1763143860)

### Image Processing
On the **Image Processing tab** , go to the **Smoothing** section. **Select Activate** and **Continuous output**. Then click **Save settings**.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/174/medium640/hacks_Screenshot_2025-11-14_122115.jpg?1763143902)

Scroll towards the bottom of the **Image Processing tab** and you'll see the **Blackbar detector section**. This is an optional setting, but it can be helpful if you watch a lot of movies with black bars at the top and bottom of the screen for different film aspect ratios. If you want to use it, **select Activate** and increase the **Threshold** to **15%**. Then, click **Save settings**.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/175/medium640/hacks_Screenshot_2025-11-14_122129.jpg?1763143925)

## Monitoring and Troubleshooting
At this point, you should see your NeoPixels lighting up in correspondence with your connected display. You can see a live feed of your image capture by clicking on the **little TV icon** towards the top of the menu bar.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/168/medium640/hacks_Screenshot_2025-11-14_122156.png?1763143087)

You can click the **Live video button** to see a live feed of what your capture card is seeing and what color the NeoPixels should be lighting up as.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/166/medium640/hacks_Screenshot_2025-11-14_122408.png?1763142908)

If you aren't seeing the NeoPixels light up, you can go to the **Logs tab** and see a detailed log of what is happening with HyperHDR. Any errors, such as not seeing the Pixel Trinkey or having issues with mounting the USB capture card, will show up here to help you diagnose any problems.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/167/medium800/hacks_Screenshot_2025-11-14_122549.png?1763142933 )

You can check the status of USB devices on your Raspberry Pi with the `lsusb` command in the terminal. This will list the connected USB devices.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/164/medium640/hacks_Screenshot_2025-11-14_125340.png?1763142862)

You can also restart the HyperHDR service on the Raspberry Pi if you're having problems. Use these commands:

```terminal
sudo systemctl stop hyperhdr@pi.service
sudo systemctl start hyperhdr@pi.service
```

# Ambient Video Lighting with HyperHDR

## Frame Assembly

![](https://cdn-learn.adafruit.com/assets/assets/000/141/125/medium800/hacks_edited_P1480492.jpg?1762983607 )

A frame works best for mounting the NeoPixel strip. First, you'll need to figure out how big to build your frame.

## Measure Your Display

Start by measuring the dimensions of your TV or monitor. My TV is 43 inches by 25 inches (109.22 cm by 63.5 cm). This means that the perimeter (total distance around the TV [43+43+25+25]) is 136 inches (345.44 cm).

## How Much Material?

Now that you know your display measurements you can determine how much material you need for the frame. I chose to use [3/8-in x 2-in x 3-ft pine boards](https://www.lowes.com/pd/Common-3-8-in-x-2-in-x-3-ft-Actual-0-375-in-x-1-5-in-x-3-ft-Pine-Board/1000834156) for my frame. They're easily available, very affordable and easy to work with.

To figure out how many boards I needed, I took my TV perimeter (136 inches) and divided it by the length of the boards (36 inches). It came out to about 3.77, meaning that I would need four boards to build the frame.

## While You're Here - How Many NeoPixels?

Similarly, you will need your display perimeter to determine how long a strip of NeoPixels you need. NeoPixel strips are sold in meters, so it will be easier to convert the perimeter to meters (length / 39.37). 136 / 39.37 is 3.4544, so I'll need 4 meters of NeoPixels.

## Build the Frame

With these numbers, you can start to layout and build your frame. If you have a dimension that is longer than your material, then you can extend it with smaller cutoff pieces. For example, with my frame the horizontal edge is 43 inches long, but the stock wood is only 36 inches long. This means I cut a piece of wood that was 7 inches long (43-36) to attach to the 36 inch long piece.

Here is a diagram I drew up in Fusion 360 to determine how I was going to assemble my frame. I decided on [miter joints](https://en.wikipedia.org/wiki/Miter_joint) for the corners and to extend the horizontal pieces. If miter joints feel a bit much for you, this frame could easily be assembled with [butt joints](https://en.wikipedia.org/wiki/Butt_joint).

![](https://cdn-learn.adafruit.com/assets/assets/000/141/126/medium640/hacks_Screenshot_2025-11-04_210342.png?1762983652)

To cut your pieces, you could use a handsaw or a power tool like a jig saw, circular saw or table saw. Always be extra careful when you're using a saw!

For assembly, you could use wood glue or a staple gun to join the pieces together. On my frame, I used a combination of both as a test and both held up equally well.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/127/medium640/hacks_edited_P1480498.jpg?1762983847)

## Other Options

If you don't want to build your frame out of wood, you could try designing a 3D printed frame or looking into other materials. There are some tips here in the&nbsp;[HyperHDR How To blog post](https://www.hyperhdr.eu/2023/02/ultimate-guide-on-how-to-build-led.html#chapter2h) and the [original Adalights Learn Guide](https://learn.adafruit.com/adalight-diy-ambient-tv-lighting/choosing-leds).

# Ambient Video Lighting with HyperHDR

## Put It All Together

![](https://cdn-learn.adafruit.com/assets/assets/000/141/132/medium800/hacks_edited_P1480476.jpg?1762986973 )

Start by laying out your assembled frame on a flat surface.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/133/medium640/hacks_edited_P1480495.jpg?1762986987)

Attach the NeoPixel clips to the frame with the NeoPixel mount facing out. You'll want to have them evenly spaced around the frame.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/134/medium640/hacks_edited_P1480503.jpg?1762987024)

Slide the bottom corners of the frame into the two stand pieces.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/141/135/medium640/hacks_edited_P1480504.jpg?1762987084)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/136/medium640/hacks_edited_P1480505.jpg?1762987094)

Start to insert the NeoPixel strip near where you will be placing the Pixel Trinkey. This will let you keep the NeoPixel wires short. The strip will press fit securely into the clips.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/137/medium640/hacks_edited_P1480508.jpg?1762987142)

Continue to route the NeoPixels around the frame, pressing the strip into the clips.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/139/medium640/hacks_edited_P1480515.jpg?1762987227)

![](https://cdn-learn.adafruit.com/assets/assets/000/141/140/medium640/hacks_edited_P1480512.jpg?1762987235)

Once you've covered the distance of the frame, align the two ends of the strip together. Determine where you want to cut the strip. Here, there was a set of contacts that aligned with the first NeoPixel, so I chose to cut there.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/141/medium640/hacks_edited_P1480516.jpg?1762987267)

Cut the NeoPixel strip on the contacts between pixels.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/142/medium640/hacks_edited_P1480519.jpg?1762987361)

At this point, carefully stand up the frame vertically.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/148/medium640/hacks_edited_P1480522.jpg?1762988261)

Insert four M2.5 stand-offs into the front of your chosen stand side.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/143/medium640/hacks_edited_P1480526.jpg?1762987476)

Mount the Raspberry Pi to the stand-offs with M2.5 screws.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/144/medium640/hacks_edited_P1480527.jpg?1762987514)

Insert the Pixel Trinkey into its case.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/145/medium640/hacks_edited_P1480530.jpg?1762987536)

Plug the Pixel Trinkey into the bottom USB 2.0 port on the Raspberry Pi. Insert the NeoPixel wires into the terminal block on the Pixel Trinkey:

- **NeoPixel GND** to **Trinkey - (black wire)**
- **NeoPixel DIN** to **Trinkey D (white wire)**
- **NeoPixel +5V** to **Trinkey + (red wire)**

![](https://cdn-learn.adafruit.com/assets/assets/000/141/146/medium640/hacks_edited_P1480536.jpg?1762987650)

Plug the USB capture card into a USB 3.0 port on the Raspberry Pi. You may need a USB extender if its case conflicts with the Pixel Trinkey.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/147/medium640/hacks_edited_P1480538.jpg?1762987742)

That completes the assembly! Before you place it behind your display, you'll want to do a test run to make sure all of the NeoPixels are lighting up and that everything is working as expected.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/149/medium640/hacks_edited_P1480549.jpg?1762988304)

After testing, you can place the frame behind your display. Make sure to line-up the frame with the edges of your display.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/150/medium640/hacks_edited_P1480576.jpg?1762988352)

When you're facing the display you shouldn't be able to see any of the edges of the frame.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/151/medium640/hacks_edited_P1480579.jpg?1762988538)

# Ambient Video Lighting with HyperHDR

## Get Ambient

![](https://cdn-learn.adafruit.com/assets/assets/000/141/177/medium800thumb/hacks_2001.jpg?1763146536 )

Warning: Remember, the NeoPixel count in the Arduino script has to match the NeoPixel count in HyperHDR!

This project has a lot of pieces that need to come together for everything to work properly.

1. Follow the [HDMI Signal Diagram](https://learn.adafruit.com/ambient-video-lighting-with-hyperhdr/hdmi-signal-diagram) to route your video signal properly
2. [Update the Arduino script](https://learn.adafruit.com/ambient-video-lighting-with-hyperhdr/pixel-trinkey-code#code-3211430) with your NeoPixel count and upload it to the Pixel Trinkey. Remember, the NeoPixel count in the Arduino script has to match the NeoPixel count in HyperHDR!
3. Follow the [HyperHDR configuration](https://learn.adafruit.com/ambient-video-lighting-with-hyperhdr/hyperhdr-setup) instructions
4. [Assemble the frame](https://learn.adafruit.com/ambient-video-lighting-with-hyperhdr/put-it-all-together), routing the NeoPixels around, and place it behind your TV or monitor

Once you follow these steps, you should see the ambient lighting flood the wall behind your TV.

![](https://cdn-learn.adafruit.com/assets/assets/000/141/129/medium800thumb/hacks_colors_blue_pink.jpg?1762986296 )


## Guide Products

### Adafruit Pixel Trinkey - USB Key for NeoPixel / DotStar Driving

[Adafruit Pixel Trinkey - USB Key for NeoPixel / DotStar Driving](https://www.adafruit.com/product/5953)
Blast-off to Pixel Planet with the **Adafruit Pixel Trinkey** , a co-pilot for those who like to shine bright. This little microcontroller board plugs into your computer's USB port and can drive tons of NeoPixel (SK6812, WS2812, etc) or DotStar (e.g. AP102) LEDs without having...

Out of Stock
[Buy Now](https://www.adafruit.com/product/5953)
[Related Guides to the Product](https://learn.adafruit.com/products/5953/guides)
### Adafruit NeoPixel Digital RGBW LED Strip - White PCB 60 LED/m 4m

[Adafruit NeoPixel Digital RGBW LED Strip - White PCB 60 LED/m 4m](https://www.adafruit.com/product/2842)
What is better than smart RGB LEDs? Smart RGB+White LEDs! These NeoPixels now have 4 LEDs in them (red, green, blue _and_ white) for excellent lighting effects.&nbsp;These LED strips are fun and glowy, and you can control each LED individually!

**This is the 60...**

In Stock
[Buy Now](https://www.adafruit.com/product/2842)
[Related Guides to the Product](https://learn.adafruit.com/products/2842/guides)
### Clear Snap-on Enclosure for Adafruit Pixel Trinkey

[Clear Snap-on Enclosure for Adafruit Pixel Trinkey](https://www.adafruit.com/product/6013)
Here is a cute and minimal enclosure for your [Pixel Trinkey](https://www.adafruit.com/product/5953)&nbsp;to keep it safe during use and transport. This case has been custom-designed and 3D printed to accommodate the reset button, 3-pin JST SH port, and the 4 terminal block outputs....

In Stock
[Buy Now](https://www.adafruit.com/product/6013)
[Related Guides to the Product](https://learn.adafruit.com/products/6013/guides)
### HDMI Input to USB 2.0 Video Capture Adapter

[HDMI Input to USB 2.0 Video Capture Adapter](https://www.adafruit.com/product/4669)
Here's&nbsp;one of the easiest capture solutions for getting HDMI data into your computer or Raspberry Pi, really any system with a USB port..

Use this capture device to convert a video signal from a camera (or another device) into a digital format your computer can recognize.&nbsp;...

In Stock
[Buy Now](https://www.adafruit.com/product/4669)
[Related Guides to the Product](https://learn.adafruit.com/products/4669/guides)
### Raspberry Pi 5 - 4 GB RAM

[Raspberry Pi 5 - 4 GB RAM](https://www.adafruit.com/product/5812)
The Raspberry Pi 5&nbsp;is the newest Raspberry Pi computer, and the Pi Foundation knows you can always make a good thing _better_! And what could make the Pi 5 better than the 4? How about a&nbsp;_faster_ processor, USB 3.0 ports, and an updated Gigabit Ethernet chip with PoE...

In Stock
[Buy Now](https://www.adafruit.com/product/5812)
[Related Guides to the Product](https://learn.adafruit.com/products/5812/guides)
### Official Raspberry Pi Power Supply 5.1V 3A with USB C

[Official Raspberry Pi Power Supply 5.1V 3A with USB C](https://www.adafruit.com/product/4298)
The official Raspberry Pi USB-C power supply is here! And of course, we have 'em in classic Adafruit black! Superfast with just the right amount of cable length to get your Pi 4 projects up and running!

Best for use with Pi 4 series, [Pi...](https://www.adafruit.com/product/5814)

In Stock
[Buy Now](https://www.adafruit.com/product/4298)
[Related Guides to the Product](https://learn.adafruit.com/products/4298/guides)
### Black Nylon Machine Screw and Stand-off Set – M2.5 Thread

[Black Nylon Machine Screw and Stand-off Set – M2.5 Thread](https://www.adafruit.com/product/3299)
Totaling 380 pieces, this **M2.5 Screw Set** &nbsp;is a must-have for your workstation.&nbsp;You'll have enough screws, nuts, and hex standoffs to fuel your maker tendencies&nbsp;for days on end! M2.5 size screws fit almost all of the Adafruit breakout/dev board mounting holes...

In Stock
[Buy Now](https://www.adafruit.com/product/3299)
[Related Guides to the Product](https://learn.adafruit.com/products/3299/guides)

## Related Guides

- [Adafruit Pixel Trinkey](https://learn.adafruit.com/adafruit-pixel-trinkey.md)
- [FunHouse Parking Assistant](https://learn.adafruit.com/funhouse-parking-assistant.md)
- [Prop-Maker Feather Talking Adabot Clock](https://learn.adafruit.com/prop-maker-feather-talking-adabot-clock.md)
- [eInk FeatherWing Display Stand](https://learn.adafruit.com/eink-featherwing-display-stand.md)
- [ESP32-S3 BLE RS-232 Controller](https://learn.adafruit.com/esp32-s3-ble-rs232-controller.md)
- [16x16 NeoPixel Matrix Square Pixel Display](https://learn.adafruit.com/16x16-neopixel-matrix-square-pixel-display.md)
- [RGB & HSV NeoPixel Dialer](https://learn.adafruit.com/rgb-hsv-neopixel-dialer.md)
- [HalloWing M4 Animated Eye Candy Bowl](https://learn.adafruit.com/hallowing-m4-candy-bowl.md)
- [BLE Light Switch with Feather nRF52840 and Crickit](https://learn.adafruit.com/bluetooth-light-switch-with-crickit-and-nrf52840.md)
- [Matrix Portal New Guide Scroller](https://learn.adafruit.com/matrix-portal-new-guide-scroller.md)
- [Square NeoPixel Display with Black LED Acrylic](https://learn.adafruit.com/sqaure-neopixel-display-with-black-led-acrylic.md)
- [Pip-Boy 2040 Wrist-Mounted Prop](https://learn.adafruit.com/pip-boy-2040.md)
- [Ambient Sound Machine](https://learn.adafruit.com/ambient-machine.md)
- [Severance Portable Macrodata Refinement Terminal](https://learn.adafruit.com/portable-macrodata-refinement-terminal.md)
- [Raspberry Pi Halloween Costume Detector](https://learn.adafruit.com/raspberry-pi-halloween-costume-detector.md)
- [LED Matrix Wall Arcade for Pico-8](https://learn.adafruit.com/led-matrix-wall-arcade.md)
