Die ULN2003 oder 2803 sind wirklich brauchbare Teile.

Ich würde die aber für dieses Projekt nicht einsetzen.
Denn nach wie vor müssen die Ausgänge mit PWM angesteuert werden um die verschiedenen Helligkeitswerte zu kriegen.
Zudem muß jede einzelne LED eine Strombegrenzung kriegen, die man am Einfachsten über einen Vorwiderstand realisieren kann.
Wenn man da einen integrierten LED Treiber IC einsetzt ist das alles schon an Bord.

Setzt man da einen Chip ein, den man per SPI oder I²C ansteuern kann spart das einen Menge Controllerpins und es kann eventuell sogar ein kleinerer Controller verwendet werden - Ich bastel zur Zeit mit einem ATtiny 44 rum ( 14 Pins ). Ob der ne Hardware SPI hat müsste ich nachgucken. Ein ATMEGA 8 sollte dann locker reichen ist kleiner und günstiger als ein 32.
Zudem ist man das Gerödel mit der Software PWM los. Welcher Controller hat schon 8 oder 16 Hardware PWM Kanäle ?