Microstepping with the Big Easy Driver


I understand that the Big Easy Driver defaults to 1/16 microstepping which from what I read is about 30% slower than full step. I see various literature that indicates to pull the M1 - M3 pins low to go to full step, just checking that this means supplying them with a wire from the Arduino GND pin?

Since when was 1/16 or 6.25% the same as 30%

If you just want a fixed microstep rate all you need to do is wire the appropriate pins to 5v or GND. You only need to use Arduino pins if you want the Arduino to be able to change the microstep setting.


thanks for the response Robin2, but if I knew the details I wouldn’t be posting to the forum. So are you saying that at 1/16 microstep the stepper will run at 6.25% of it’s full step speed?

Also, the main reason for my original post was to check it’s ok to apply 5V or GND to the M1 thru M3 pins to alter the microstep amount as I believe it’s easy to kill the BED and I don’t want to wreck it


1/16th microstepping means that it takes 16 small steps to move as far as one full step.

The speed depends on how fast the step pulses are provided. Microstepping is usually used for smoothness. The “in-between” positioning is not as precise as when it gets to the full step position and the torque is reduced because the microstepping is achieved by using the motor magnets to pull against each other.

You may find some useful background info in stepper motor basics.


I have previously read that post, and it's very good - a good general post and of course I understand that 1/16 stepping is 16 steps per normal step - in my case with a 200 step per rev motor it instead gives 3200 steps per 360 degrees.

So, back to my initial q, I guess I just apply GND or 5V from the Arduino to the M1 through M3 pins to adjust the amount of microstepping?

Microstepping reduces resonance meaning that typically you get more torque
from the motor (without miss-stepping). Put another way tune the motor to its
limit (without any miss-steps) both at full-step and 1/16 microsteps and you'll
probably find you can drive faster with microsteps (certainly it will be a LOT
quieter). The exception to this is if the system has good mechanical damping
which reduces the effect of resonance. Expensive stepper drivers have
electronic damping which is quite complex but saves having to add visco-elastic
couplers and so forth. They also transition to square wave drive at higher
speeds for slight improvements (microstepping is sinuisoidal).

Of course you have to generate step pulses 16 times faster...

Its seldom worth microstepping finer than 1/16 or 1/32 - certainly the positional
error will be no better (common fallacy that).

So, back to my initial q, I guess I just apply GND or 5V from the Arduino to the M1 through M3 pins to adjust the amount of microstepping?

Yes. That is what I said in Reply #1
It won't matter whether you connect the Mx pins to GND and 5v on the Arduino or on the EasyDriver itself.