Visualize music with MPD and an LED strip
With Arduinos, 5050 RGB LED strips, Hyperion and MPD on a Raspberry Pi I created a low cost party lightning environment.
First tests show that the setup seems to work.
The setup consists of cheap RGB LED strips, 2 * 5 meters, powered by two 12V 3.5A adapters and an Arduino with three TO-120 transistors each. For strips with 30 LEDs per meter, you need 0.5A per meter. To be safe, add additional 10% to the total. So for my 10 meters, I could also have used a single adapter with at least 5.5A. The Arduino’s GPIOs are not nearly able to supply 5.5A * 12V = 66W, so we need transistors - either darlington transistors or MOSFETs. Adafruit has more information and detailed explanations. After wiring, the Arduino needs to be flashed with a software that communicates with the Raspberry Pi. I adapted a sketch that implements the Adalight protocol, you can find it here.
The Raspberry Pi as server runs Hyperion which is AmbiLight-like. On the same host, MPD outputs music to speakers and a FIFO. I wrote a Hyperion plugin that processes the output of the FIFO and thus visualizes the music that is currently be played. The plugin and more installation instructions are here. In my case, I started two Hyperion daemons, because I had two Arduinos connected and it is currently not possible to output the same data to two Hyperion compatible devices.
Initially, I planned using an ESP8266 instead of the Arduino. I had not the right parts to step down 12V to 3.3V and tried to hack something together with LEDs and a 7V-3.3V-stepdown converter. Well… that didn’t work out quite well. I used Arduino Unos instead.
Do not reproduce, this fries the ESP…
The controller in use