Blinkenlights!

Using addressable RGB LEDs (LPD8806 PWM chips), I turned my stairs in to a giant music visualizer.

Software running on a computer samples the system's audio output stream. A FFT is used to get the relative power of 16 frequency bins. These values are then transmitted over UDP to the controller.

The controller is a ATmega32u4 (a Teensy) running custom AVR C code. The controller takes the FFT values and generates the pixels to be displayed, and pushes them out to the LEDs over SPI.

This design provides extremely low latency; the lights appear to be instantly responsive to the music.

Bonus: cat tax