I just learned about the TLC5940 from Texas Instruments. They are available at SparkFun. Normally I like to do everything myself, including write my own multi-channel PWM code for the Microchip PICs. But, at some point, I am just going to want to control the brightness of a lot of LEDs. This chip looks like it will do that just fine.
From the TI website:
The TLC5940 is a 16-channel, constant-current sink LED driver. Each channel has an individually adjustable 4096-step grayscale PWM brightness control and a 64-step, constant-current sink (dot correction). The dot correction adjusts the brightness variations between LED channels and other LED drivers. The dot correction data is stored in an integrated EEPROM. Both grayscale control and dot correction are accessible via a serial interface. A single external resistor sets the maximum current value of all 16 channels.
This looks like a fun chip to play with. What do I consider the nicest feature of this chip? No resistors and not transistors needed. This chip can directly drive the LEDs.
A comment on the SparkFun pointed out that TI offers free samples. So that is what I did -- headed to the TI website, created an account, and requested three TL5940 chips.
I will put up another post on this topic once I actually do something with them.