Adafruit 24-Channel 12-Bit PWM LED Driver can control 24 separate channels of 12-bit PWM output. This board is designed and ideal for LED control, this board is not good for driving servos.
Only three "SPI" pins are required to send data (Adafruit Arduino library shows how to to use any digital microcontroller pins). Best of all, the design is completely chainable. As long as there's enough power for all the boards you can chain as many as you'd like. Each of the 24 outputs is constant-current and open drain. You can drive multiple LEDs in series, with a V+ anode supply of up to 30V. If you want to drive something that requires a digital input, you must use a pullup resistor from the drive pin to your logic level to create the full waveform.
One resistor is used to set the current for each of the outputs, the constant current means that the LED brightness doesn't vary if the power supply dips. A 3.3K resistor is used for about 15mA but you can solder a thru-hole resistor over it if you'd like to change that value. Check the TLC5947 datasheet for details on resistor-to-current values.
The board has some extras to make it easy to use: a durable 5V low-dropout regulator, a green power-good LED, four mounting holes and a current-set resistor. A bit of 0.1" header is also included so you can solder it on and plug into a breadboard.
To use: Power V+ with 5-30VDC, and connect ground to the common ground. Then send 3-5V logic SPI data on DIN (data in), CLK (clock) and LAT (latch). If you'd like to quickly turn off all the outputs, raise the OE pin - it's pulled low to enable the PWM outputs. Adafruit Arduino library will get you started with blinking LEDs, install it and run the example code with the noted pin configuration.
Adafruit Library: https://github.com/adafruit/Adafruit_TLC5947
Adafruit Product Page: https://www.adafruit.com/products/1429