But that is only part of the whole deal. Now I need to find a way to make it work.
With three shift registers, I can drive 24 leads -- enough for 8 RGB LEDs. I know from my experiences with building the display for the MACH F, that I can multiplex a chain of three shift registers in four fases without any problems -- which means three shift registers could drive 32 RGB LEDs. Not too shabby.
But then the next question is: how do I make this work?
I could have a module with three shift registers and 32 LEDs -- except I will have trouble producing (and/or having produced) any sort of PCB that's longer than 16cm. So 16 RGB LEDs maximum in a single module. So half that -- multiplex in two phases?
I need four leads to drive the shift registers, two for the phases, and two for the power lines. Which makes for 8 -- exactly the number of leads available in a UTP cable... And since UTP is rated for 12V, 5V shouldn't be any problem.
A single PIC 16F628A could drive seven of these modules (seven data leads, with clock, strobe and output enable shared -- ten leads in total). That would mean 7 * 16 = 112 RGB LEDs. Well above the 90 maximum I could have done with charlieplexing. But this means more problems with the data organisation in-memory, and (hence) with the software. Perhaps a maximum of 5 modules would be better.
A plus is that I do not have to constantly multiplex: I can shift in the info that's needed, and then strobe it into the shift registers.
So, I need to check the software - in particular the memory management, especially if I need to shift in parallel. When that seems to work out, I can start to think of prototyping again.