With the setup and code below my stepper motor is only turning about 1 revolution every 10 seconds. According to my power supply it's only drawing about .22 Amps which isn't enough.
The stepper driver I'm using is the TMC2209 v1.3 which seems to have no documentation from v1.2.
otherwise you should remove the Serial.print("button on"); from the loop as you'll soon saturate the Serial port and print will become blocking, especially at 9600 bauds. ➜ this becomes a throttling factor to your stepper