Leds mit konstanter Spannung Anzusteuern geht praktisch nicht. Die Spannung ist Temperaturabhängig und sinkt bei Erwärmung. Eine Stromsteurung ist möglich, die auch von einer externen Steuerspannung abhängen kann. Man braucht dann aber eine ganze Menge DA Wandler. Da ist PWM eher einfacher, braucht nur recht viel Rechenzeit bei so vielen LEDs.

Das Charliepixelung ist eigentlich nur dann möglich wenn höchstens 3 bis maximal 10 LEDs gleichzeitig hell sein sollen. Viel mehr als 3 LEDs kann man nicht über die Kontrollerpins steuern und auch mit Treiben werden die LEDs ab etwa 10 dunkler.

Die Schieberegister schließt man am einfachsten an die SPI schnittstelle an. Die Daten werden dann einfach in das SPI-out Register geschrieben und erscheinen mit relativ wenig (ab 16 Takte je Byte) Verzögerung im Schieberegister. Man muß dann nur noch das Latch von Hand bedienen. So ein Schieberegister wird auch als Porterweiterung bezeichnet und kann auch z.B. 40 Bits lang werden um die eine Richtung der Matrix zu steuern.