12mm RGB pixels come in two different shapes: “bullet” (thin) and “square” (flat). Both use the same type of LED, driver chip and data protocols…the main difference is how they can be mounted: bullets fit better into narrow spaces, while squares are better suited to shallow spaces.
Both types use an 8mm diffused RGB LED (“12mm” refers to the size of the mounting hole for installation) — diffused pixels mix colors nicer. At 5 volts, they draw a maximum of 60 milliamps per pixel: 20 mA each for red, green and blue.
The LED pixels are spaced along a strand of ribbon cable, with about 3 inches (75mm) between pixels. If additional distance is needed you can cut the ribbon cable and solder 4 wires to extend the gap to the desired length.
Each pixel contains a small microchip within the silicone dot. The WS2801 LED driver chip is custom designed for this purpose. We provide an Arduino library for communicating with the pixels (explained in subsequent pages), but if you want to write your own code for other microcontrollers, they’re very easy to communicate with using an SPI-like protocol. For each pixel, one “shifts out” 24 bits of color information — the first data out corresponds to the pixel closest to the microcontroller. To write colors to 10 LEDs, you would issue 240 bits (10 * 24). Following the data, a 500 microsecond pause will then “latch” the data and display the new LED colors.