20 RGB Leds?

What would be the best way to control 20 RGB LEDs (common cathode). Ideally with full RGB control to enable smooth colour transitions and fades.

Open to both off the shelf products/shields and circuit design.

The only thing I cant change is the LED's.

cheers.

Here is how I did it with 595 shift registers.

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1278251011

Think you may need common anode to use the nicer TLC chips.

Best of luck.

Can use TLC5940 also, just need to wire it differently.
Has 16 outputs will need a bunch of them.
Connections to the Arduino's SPI, etc. not shown.

CrossRoads:
Can use TLC5940 also, just need to wire it differently.
Has 16 outputs will need a bunch of them.
Connections to the Arduino's SPI, etc. not shown.

Cool I have a bunch of TLC5940's, however the part count gets pretty big with this set up. I suppose I can actually change 10 of the LED's as only 10 are built into our switches, the rest being external.

Instead of disrete transistors, use ULN2803 for equivalent of 8 transistors instead.
Still need R4,5,6 for the 5mA load on the TLC5940.

If you want to go with 595's, I wrote a library for that recently. 256 brightness levels is no problem for 20 leds.
You can check it out at www.elcojacobs.com/shiftpwm