With the advent of cheap RGB LED strips it was only a matter of time before they managed to integrate more intelligence in to the LEDs to make them addressable. They’re plummeting in price every day and they’re amazingly simple to control thanks to a great library available for the Raspberry Pi. The LED strip I’ve used is https://www.coolcomponents.co.uk/digital-rgb-led-weatherproof-strip-60-led-1m-black.html but there are plenty of others out there, provided they’re based on the same chips you’ll be fine.
A lot of the things I’ve read say you need to level shift the Raspberry Pi output from 3.3v up to 5v. During my testing I had no problem controlling the LED strips from the 3.3v GPIO pin on the RPi . The LED strip needs to be powered from an external 5v supply as the RPi can’t deliver anywhere near enough power for the LEDs. Just remember to connect the zero volt side (ground) on the power supply to the ground on the RPi. The library for controlling the LED Pixels uses GPIO18 and the hardware PWM (Pulse Width Modulator) during via DMA, for most this means very little however you should be aware that the audio out depends upon the PWM as well, so you can’t use this and drive audio out unless you do so via HDMI.
The following commands detail how to install the library and use Python to run the pixel display:
git clone https://github.com/richardghirst/rpi_ws281x.git
cd rpi_ws281x
sudo apt-get install scons
sudo scons
cd python
sudo python ez_setup.py
sudo python setup.py install
cd examples/
There are some examples within the examples folder. Just edit them to specify how many pixels you have.
The above works on a Raspberry Pi Model B and Model 2 B – I’ve tested it! Just be aware how much power these can draw and make sure you use a power supply that is capable of delivering sufficient Amps for whatever you’re doing.