An interrupt-driven stepper motor driver for Arduino