Però effettivamente devi rivedertelo, così com'è ogni volta che arriva all'ultima riga del loop1 o loop2 torna nel loop e scrive sulla EEPROM.. la mia era solo un'idea
EDIT: tipo:
#include <EEPROM.h>
int val;
void loop1(){....}
void loop2(){}
void setup(){
//tramite un altro sketch (o adattando il codice) metti nella cella 0 il valore 1 o 2, di default non so quanto sia..
val=EEPROM.read(0);
boolean primo=true;
}
void loop(){
if(val==1){
if(primo){EEPROM.write(0,1);primo=false}
loop1();
}
if(val==2){
if(primo){EEPROM.write(0,2);primo=false}
loop1();
}
}