Well, I felt that the Arduino has a few too few outputs, so I started looking into the M5451 35 output constant current chip as an output expander. The cool thing about this as opposed to the LED matrix drivers is that it is not strobed, so in theory you should be able to drive anything off it, not just LEDs.
Here's my blog about breadboarding it: effluvia of a scattered mind: Arduino and M5451 -- Control 35 LEDs, motors, etc!
And it turned out that I could cram TWO of them onto an Arduino shield. So I stuck'em on with IDE cable connectors extending out the sides so that you can stack something else on top and still get at the cables.
Then I added the option to have independent power so you could drive the outputs with higher or lower voltage than the base Arduino and also added the option to use a PWM bin to control the brightness.
So basically, with 3 pins (clock, and 2 data) you can turn on/off 70 outputs, and use a fourth (PWM) to control the current.
One issue I had was to figure out how to let the person choose which arduino pins to use. I settled on making some SMT pads, and the idea was to put a solder blob across the pads to connect a pin. But the SMT pads are so small, its actually pretty difficult to make the connection. Does anyone have any ideas about how to do this better?
Unfortunately, I can't figure out how to put pictures in the forum, so you'll have follow this link to my blog:
Doing "img URL /img" (with brackets around the "img" word) on some of the pics in the blog isn't working for me...