una variabile static è visibile in tutto il programma, ed esiste una sola volta anche su più utanze della classe. In pratica è una variabile condivisa.
No, la variabile dichiarata static è visibile solo nel file in cui risiede la dichiarazione, con arduino IDE questa cosa si perde perchè il tutto e fuso in un'unico sorgete ma nello sviluppo C/C++ classico è pratica comune isolare le variabili interne al file con static.
Quindi static riduce la visibilità della variabile all'interno di un blocco o file e mantiene il valore precedente all'uscita del blocco o file.