I need a decent RPM (~100rpm) stepper motor for one of my RPi projects and 28BYJ-48 with ULN2003 driver boards are readily available online. All works well, however driving ULN2003 (5V-12V rated) using RPi Pin-6 (5V) doesn't provide much RPM (~8-10rpm).

To achieve higher RPM out of 28BYJ-48, I got a LM2577 step-up converter module that is now connected to RPi Pin-6 (5V) and LM2577 Out+ now drives the ULN2003 driver board. Out+ is set to 10.2V using on-board LM2577 potentiometer.

Now the problem is that as soon as I start my python stepper motor driving script, RPi restarts. I don't see anything in dmesg either. Has anyone achieved higher RPM from 28BYJ-48 using an alternate method and/or successfully used LM2577 step-up converter module with RPi?

  • 3
    The voltage provided to a stepper doesn't control the speed. The speed of the steps does that. It sounds like you're not doing this right, & perhaps generating enough ripple on power supply to reboot the Pi. Perhaps adding your code & circuit to the question would help us to answer this. Jun 5, 2015 at 10:39
  • 1
    While voltage does not control speed of a stepper, it does enable it, as the voltage required to overcome winding inductance increases with step rate and thus speed. Insufficient voltage means torque falls off with speed and the motor starts losing steps. Note that using a motor rated for a higher continuous voltage does not help as it also has more inductance. Instead performance comes from low voltage motors with higher voltage current chopping drives. Dec 2, 2015 at 20:54

3 Answers 3


You should not be running the power for a stepper motor (or any other moderately hi or pulsed load) through the pi, period. At the least give the load its own wiring directly back to the supply.

While it is true that higher voltage supplies can yield much better stepper motor performance, a boost converter is going to be a poor way to do this. If you want to run your motor at 12v (say with a chopping driver) you should use a 12v supply, not one upconverted from a lower voltage where higher current would be required.

If you have a good supply in the 12v range you could consider using a buck regulator to also power your pi from it, but you may find it simpler to use independent supplies for the pi and motors driver.


You must be drawing too mich power and browning out the the pi. You need a separate power supply or one that can supply more amps.

I have some of these motors and they are really slow because of the gear ratio. It takes like 4096 steps for one revolution.


The maximum speed you are going to get out of a 5V rated 28BYJ-48 is about 15RPM. I don't know if the 12V rated models run any faster.

delay RPM
2000  7
1500  9
1000 13
 900 15
  • 1
    The reference states it'll accept 100Hz - with a suspect claim lower that it'll take >1KHz off-load! 100Hz represents, I assume, 25 steps / sec, so 2.4 sec/rev is about 25rpm . It remains true, though, that the voltage only affects the torque & not the speed. Jun 5, 2015 at 13:02
  • @MarkWilliams I edited my post, the delay should have been microseconds not milliseconds. A 900µs delay results in about 1100 pulses per second, or 66000 pulses per minute. The stepper has 64 steps and a 1/64 internal gearing requiring 4096 pulses for one revolution. 66000/4096 equates to 16.11 RPM which is close to my measured result.
    – joan
    Jun 5, 2015 at 13:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.