--- date: 2016-02-13 title: LED music visualizer image: /images/music-led/led-floor.jpg --- LED strip controller that changes the color to the beat of the music. ![First test results](/images/music-led/led-floor.jpg) _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](https://learn.adafruit.com/rgb-led-strips/usage) 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](https://git.schneefux.xyz/electronics/mpd-rgb-vis/src/master/adastrip.ino). The Raspberry Pi as server runs [Hyperion](https://github.com/tvdzwan/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](https://git.schneefux.xyz/electronics/mpd-rgb-vis). 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. ![Failed attempt of connecting an ESP8266](/images/music-led/controller-failed.jpg) _Do not reproduce, this fries the ESP…_ ![Arduino controller](/images/music-led/controller.jpg) _The controller in use_