why not use the Arduino PWM? It has six channels
I'm not just using 1 chip. I need to control 17 RGB strips with full PWM. I'm planning my initial breadboarding to use a arduino mega to drive it, I suspect I might be pushing it's limit with it though, and I want it to do more than just talk to the lights (it will be talking to an ethernet chip and an SD card as well).
chips with less outputs but they tend to be three outputs, not six. They're also surface mount so difficult to use at home (the DIP package is a big reason why the TLC5940 is so popular with hobbyists).
There is also very little space to hide cables, so running 68 cables around will look very ugly.
What I want to do is have a small sub-board for each strip (or 2), with just a 4 wire link to all of them, that way I can use a piece of CAT5 to make it look neat. This requires 3 or 6 PWM channels on each sub-board, 16 is overkill and racks up the price quite a bit (particularly if I scale up the numbers later)
Ah, now the full specification starts to appear...
The TLC5940 isn't just a 4 wire link, it needs constant love from the CPU to keep the PWM running, you need at least six wires to the chip to make it work (SCLK, SIN, BLANK, XLAT, GSCLK and GND). Add power and that makes it seven.
If you want to do it with four wires then you'll have to put a microcontroller on your boards to do the communications, in which case you might as well do the PWM in software as well. You can use pre-built mini-Arduinos or put a Mega328 on a piece of perf-board. A Tiny84 would work too but will need much more programming work.