Stepper Motors - do not work when wheel is attached

Parts used: Pololu Stepper Motor Bipolar, 200 Steps/Rev, 35x28mm, 10V, 500mA (#1208), with A 4988 Stepper Motor Driver (#1183) connected to an Arduino Uno R3. Power supply for Stepper Motor Driver is a rechargeable 9V 200mAmp battery. Pololu Wheel 70x8mm Pair - Blue (#1428) attached to axle using Pololu Universal Aluminum Mounting Hub for 5mm Shaft Pair (#1203).

Main problem: When I attach a single hub to the axle using the included 4-40 set screw and send pulses to the stepper motor driver, it works. But when I tightly screw the Pololu Wheel to that hub using 4-40 screws, the axle/hub/wheel system does not turn properly. It may make weird vibrations, turn slowly, or not turn at all. There is a buzzing sound from the stepper motor when it is not working. When I screw the wheel in just enough so the screw is barely passing the surface of the hub, but still keeps the wheel on the hub, it works, but the wheel is wobbly. This is an extremely bizarre problem, as I don’t see how screwing something into the hub would prevent the stepper motor from working properly, but that is what seems to be happening. Also, I don’t believe it is a torque issue because in the last scenario when the screw is barely screwed in, the motor is still turning the wheel. Plus the wheels are only 0.5oz/15g and 7cm diameter.

I Have tried using different screws and other techniques to attach the wheel but they either result in a wobbly wheel (resulting in screws falling off) or the stepper motor not working.

Any suggestions? Please let me know if I can provide any more info.

Can you clarify your post. You said “Power supply for Stepper Motor Driver is a rechargeable 9V 200mAmp battery.”

Do you really mean that you are powering the motors themselves with a 9 volt battery?


The problem is likely your power supply. A 9 volt battery is not going to be able to supply enough power for that stepper motor to run for very long and certainly not under any kind of load. Please try using a power supply that can source more current and see if that fixes your problem.


Thank you for your response.

It seems that it was a programming issue as well as a torque/current issue. I ran some tests with an actual power supply and it appears that the STEP HIGH pulse width needs to be the same as the LOW pulse width for full step mode. Is this correct? Are there any guidelines to min/max/optimal pulse durations? I now have the period set at 2 milliseconds.
Also, do the stepper motors need to ramp up (start them up with a higher period/greater torque and then shift to lower period/ less torque/ higher velocity? What is the factory set current limit on the driver? I know that you can use the ref pin to figure out the current limit, but is there a way to find out the actual current going through the motors, if the actual current is less than the limit?

The motors turns now with the wheel attached, but there are still some torque issues related to not having enough current from the battery; I am not sure what to use for a portable power supply that will provide enough current and still be small/light enough.

If you’re using a wheel, weight of the battery shouldn’t be a big problem. Try a 20C rated 2S or 3S LiPo battery with at least 1000 mAh capacity.
Yes, stepper motors with load generally run softer/better when using ramped acceleration control.

The advice jwatte gave you regarding acceleration ramping and the batteries is good.

The only restriction in your pulse width is that each be longer than 2 microseconds; there is no benefit to having equal duration for the high and low STEP pulses. The total cycle time determines the step rate.

The current limit is not set to any specific value; it is meant to be set by the user. You can find the guidelines to set the current limit on the A4988 product page. I suggest you set it by monitoring the VREF voltage, and you can confirm the actual current by putting a multimeter in series with one of your motor coils.