May 28, 2014
Another product from our friends at Adafruit! NeoPixels are RGB LEDS which can be controlled by an I2C bus.
What does that mean? As you probably know, an LED is a solid-state light. They are more efficient than bulbs and last much longer. They are available in a variety of colours. By combining red, green, and blue LEDs in a single device we can produce any colour we like.
That leaves us with a final problem: How do we control them? We create different colours by changing how bright each LED is, and this is done using pulse-width modulation. The difficulty with pulse-width modulation is that without specialized chips it's a nuisance, and we need many pins if we want to control more than just one RGB LED. That's where I2C(pronounced I-squared-C) comes in. It's a serial bus, sort of like a telephone system. You hook up two wires from the microcontroller to the LEDs, and they all share the same two wires.
Then you can tell each LED what to do by effectively dialling it on the telephone. With NeoPixels you can hook up more than a hundred RGB LEDs, and control them using even a small microcontroller.