I have been using an Arduino to control a stepper motor using an A4988 stepper driver.
The driver requires the direction and step signal to move the motor. The most straightforward method is to use a digitalWrite and delay to indicate the stepping. During this delay the Arduino is frozen and is not able to process other commands. I later realized that my 3D-printer also uses an Arduino and analogous stepper drivers to move all the motors at the same time.
How can Arduino-based 3D-printers with a minimum of 4 motors (x, y, z, extruder) control all motors at the same time?
It seems to me the Arduino is just not fast enough to use a delay()-based method to control 3D-printers, and I was under the impression common stepper libraries are based on the delay command.