Buongiorno,
in effetti ho copiato pedissequamente dal topic linkato nel codice ( Reset da software - #8 by system - Italiano - Arduino Forum ) e mi è sembrato strano che il while() non fosse in qualche modo racchiuso "all'interno" della funzione.
Provo a giocarci di nuovo più tardi.
Grazie SukkoPera per il link su github, ad una prima occhiata veloce è molto interessante.