Although Adafruit has an excellent guide on getting started, I thought I would include a short post on using their library for RGB or RGBW strips. This already assumes you’ve got your strip hooked up to an Arduino and have successfully run one of the library’s example sketches. If not, read up on Adafruit’s basic connections tutorial.
Multicolor LED strips generally come in two flavors – solid color and addressable. Solid color strips, as the name implies, have all of their LEDs display the same color. Addressable strips on the other hand allow you to control the color value of every individual LED in the strip. The most popular individually-addressable LEDs on the market at the moment are Adafruit Industries’ NeoPixels, based on the WS2182 chipset. They come in a variety of physical packages including strips, rings, and matrices.
While the final version of the footwell NeoPixel project calls for a long strip of ~60 pixels, most of my time is going to be split between programming at my desk and testing the pixels’ response to telemetry from the car. I didn’t want to have to wrangle a large strip every time I wanted to test an idea, and I figured most of the patterns for the 60 pixel strip could be replicated on a shorter one.
My solution is this small prototyping board. It’s a 3D printed part with mounts for an Arduino Uno, a small breadboard, and a NeoPixel stick. The NeoPixel stick is a nifty PCB with 8 of the same type of RGBW leds as the strip I plan to use, and includes input/output pads and a resistor for the data line. The breadboard lets me wire a 1000µF capacitor to protect the pixels from voltage spikes and allows me to hook up a second power supply if I’m reaching the power limits of the Arduino (which I should note is absolutely possible if you’re using all of the pixels at full brightness).