Hallo Oze,
lesen und schreiben von Bytes wird mit dem EEPROM sicherlich viel besser gehen. Es sind dann halt immer 8 Säulenwerte gleichzeitig. Vorstellen kannst du dir dann immer noch, dass die 25 Werte der Säulen hintereinander stehen.
Tatsächlich würde ich sogar Long Werte nehmen, dann hast du alle 25 direkt in einer Variable und kannst sie entsprechend manipulieren. Eine Long einlesen wird auch schneller gehen als 4 Byte einzeln.
Ob das EEPROM schnell genug für diesen Zweck ist, musst du dann mal sehen, ich befürchte eher nicht. Um ein einigermaßen flimmerfreies Bild zu bekommen, wirst du sicherlich mit 50Hz den ganzen Würfel ausgeben müssen. Es käme dann noch darauf an, wie schnell du die Bilder wechseln möchtest.
Jedenfalls würde ich die beiden Aufgaben "Daten holen" und "Daten ausgeben" komplett entkoppeln. Ein Timer ist nur für die Ausgabe der Matrix zuständig, indem er im mindestens 250Hz Takt die aktuellen Daten ins Schieberegister ausgibt. Ein zweiter Timer oder die Mainloop besorgt die neuen Daten.