Ti dico come farei.
Ti crei una matrice delle dimensioni del tuo display. Mettiamo che usi un 16x4, allora ti fai un bufferVideo[16][4].
Nella matrice scrivi tutte le modifiche che vuoi. Puoi anche farti delle semplici funzioni per cancellare il "video" (basta un ciclo che metta a 32 [codice Ascii dello spazio] tutte le celle, ad esempio) e poi, ogni tot, spedisci la matrice al display.
unsigned long pianificazione=millis()+50;
void loop() {
...
...
...
if (millis()>pianificazione) {
visualizza();
pianificazione=millis()+50;
}
}