Per i pulsanti (pressione lunga o corta) ti potrebbe essere utile questa libreria oppure qualche linea di codice e passa la paura.
EDIT:
@Michele
Comunque, per come è strutturato il programma, non necessita di grosse modifiche per lavorare in stand-alone.
Un punto da rivedere, ad esempio è questo
//Set ADC port low
void SetADCLow(void)
{
digitalWrite(A0,LOW);
digitalWrite(A1,LOW);
digitalWrite(A2,LOW);
}
unico punto dove si citano i pin dell'Arduino e non i riferimenti alla porta.