Yes it is possible, of course everything is possible!
These drivers need two IO lines at very minimum: DIR and STEP. Pulsing STEP makes one step movement forward or backwards (depending on DIR).
For 6 steppers you need therefore 12 outputs from Arduino. (Which Arduino please? pick one which has enough IO, or otherwise use an I2C output extender).
M0 and M1 controls microstepping mode - configure at your wish. CFG is high on this Pololu board, allowing the board to use as a stepper driver out of the box.
Steppers (if you want to get them working at full torque) require a constant-current drive. (Inexpensive solutions use a constant voltage drive, such as using an ULN2803 - however those can not get too much torque). Happily this driver can do this well, the potentiometer sets the maximum current.
Steppers need considerable current when starting movement to a next step. However, unlike DC motors, even a still position will consume current, which eventually makes the motor hot. Therefore you are supposed to limit the current when the motor is not moving. This is usually done from software (the driver does not known when it is time for a long period at stop).
The way for limiting motor current at stop can be either an analog limiter, or a PWM. This driver has no dedicated input for this purpose. You can do two things:
- use smaller drive current (use the potentiometer) - this can work well if you're satisfied with the torque
- use the sleep mode of the driver with a PWM from the Arduino side.
This latter solution needs you to:
- connect all EN pins of all 6 drivers, and connect it to one Arduino pin which has PWM (i.e.
- drive this to 0, then start movements
- once movements are finished, use
analogWrite() and set to say, 128 (usually half of the move current is a good guess for holding current)
This way when the motors are stopped, the holding current will be less, hence the motors don't get hot.