Muovere Passo passo tramite pulsante

Marco non voglio sembrarti scortese, ma presenti un codice dove almeno io non ci capisco nulla.

Dichiari:

pinMode(DIR_PIN_M1, OUTPUT);
  pinMode(STEP_PIN_M1, OUTPUT);

Ma dove sono? Hai riportato parte del codice e non è completo? Cos'è?
Dove dichiari che i buttonPin sono di INPUT?
buttonState lo dichiari e non lo usi.

Boh...