Make your own smart LEDs with the same chip that is used in our NeoPixel strip and pixels. This tiny SOIC-8 is fairly easy to solder and can drive a single common-anode RGB LED or three single-color LEDs of your choice. (The outputs are NPN transistors so they won't work with common-cathode!) The outputs are each ~18mA constant current so the color will be very consistent even if the voltage varies, and no choke resistors are required making your design minimal.
The pixels are 'chainable' by connecting the output of one chip into the input of another - see the datasheet for diagrams and pinouts. To keep the chip small, there is a single data line with a very timing-specific protocol. Since the protocol is very sensitive to timing, it requires a real-time microconroller such as an AVR, Arduino, PIC, mbed, etc. It cannot be used with a Linux-based microcomputer or interpreted microcontroller such as the netduino or Basic Stamp. There are two speeds supported by the chip, one 400KHz and one 800KHz. Our wonderfully-written Neopixel library for Arduino supports both! As it requires hand-tuned assembly it is only for AVR cores but others may have ported this chip driver code so please google around. Using the slow timing rate, 4MHz or faster processor is required.
Comes in a package with 10 individual chips. We have a ready-to-go component for this in the Adafruit EAGLE library
LED Driver Chip - 10 Pack (7:53)