Also ich würde dafür die mstimer2 library nehmen. Im Prinzip so wie hier Persistence of Vision | Blinkenlight, nur daß die Daten nicht aus dem Speicher kommen sondern immer neu berechnet werden. Solange Du nur 1ms auflösen mußt hast Du jeweils ~16000 Systemtakte Zeit für die jeweiligen Berechnungen, das sollte normalerweise locker reichen.