Bottle Light Display

Idea

I've experimented with audio controlled led strips in the past, but never managed to get something I was happy with. I decided to make an audio reactive led display on top of our kitchen cabinets with glass bottles as diffusers.

Component Selection

Audio contains a ton of data and comes in as an analog signal. Luckily, PJRC offers an audio hat for their Teensy microcontrollers. Teensies have much more processing power than normal Arduinos, but use the same Arduino programming environment.

PJRC also has fantastic libraries, tools, and documentation to make the daunting process of analyzing audio easier. Specifically, the built in 1024 bin FFT analyzer helped me get values for all of the various pitches in an audio signal.

I wanted the Teensy to manage the audio and led patterns, while a separate microcontroller managed input from the potentiometers and button and their associated interrupts. That way monitoring user input didn't interfere with memory allocation on the teensy for the heavy audio tasks.

I chose to use a raspberry pi pico for my input manager since I had one on hand and had a pcb for one in the past.

I used a 5V, 20A power supply to drive the 364 individually addressable WS2812B LEDs. I've used WS2812Bs in the past, and had some on hand already.

Teensy 4.1 on top of a Teensy Audio Board.

Raspberry Pi Pico Input board front

Raspberry Pi Pico Input Board Back


After a lot of programming and debugging, the whole system works! However I never got to put the polish I normally would on this project due to a certain full suspension bike project taking  most of my time, hence the rats nest at right.

Overall I'm very satisfied with the effect of the leds and the bottles, especially the audio reactive patterns. Hopefully I'll have time to revisit this project and write more fun patterns.

IMG_2217.MOV
IMG_2219.MOV

Audio Visulization

It took quite awhile to dial in the thresholds and filters needed to produce a satisfying audio display, and longer to fill up the whole shelf with bottles. The song in the following video gives a good demonstration of how the display reacts to different frequencies.