Arduino+bipolar stepper

Hello everyone,

I'm trying to use a biploar stepper motor I found that is from an old hp printer. It is the RH7-1282 from the HP ilaserjet. I can't seem to be able to make it work properly as I can't find the datasheet for this stepper. Anyway, if it is not possible to work with this one, is there any recommended bipolar steper + driver that could work with arduino?

The first thing to determine is the winding-resistance (multimeter) The size of the
motor is a rough guide to power dissipation.

Low-impedance windings (<5 ohms) imply a chopper driver, high impedance (>20 ohms)
would suitable for a dual-H-bridge.

Putting a modest current through one winding will allow you to count the steps per
revolution, as the motor will pull towards one in four of the step positions, so for instance
a 200 step motor will exhibit 50 detentes.

Alright, I will check it. Anyway, is there any specific bipolar steper, or just steper (+ driver if necessary) that you would recommend?

Thanks for your help :)

Look at the Pololu A4988 and the Sparkfun EasyDriver stepper driver boards. Just make sure the board you choose can manage the current required by your motor.

If you don't have the motor specs I'm not sure how you will figure it's max current. Maybe post a photo here with something to give us an idea of the size.


Bipolars come in two basic types, high-performance with low-impedance windings designed for constant current - use a chopper drive. Anything under 5 ohms is likely to require chopper drive to be useful. Constant-current chopper drives often have microstepping support - this is good, it reduces noise and resonance and increases performance.

And then there are high-impedance windings designed for constant voltage drive via H-bridge. These are much easier to drive but have poor performance at anything but low speed. Typically 20 ohms or so for 12V motors, 50 ohms or so for 24V motors.

MarkT: And then there are high-impedance windings designed for constant voltage drive via H-bridge. These are much easier to drive but have poor performance at anything but low speed. Typically 20 ohms or so for 12V motors, 50 ohms or so for 24V motors.

I have heard this distinction before, but I don't understand it. Why won't a nominal 12v motor work better with 24v just as a nominal 5v motor will. I have some of these 12v motors and Pololu A4988 drivers and they seemed to work better with 24v in my tests.


Well, this is the actual size of the bipolar stepper mentioned. As I said it’s RH7-1282 from an old HP laserget printer so I’m unable to reach the datasheet. I tried to drive it only through arduino, but it only vibrates. It seems like the arduino hasn’t enough power to move the steper, any recomendation about it?

Thanks :D.

Arduinos don't have enough power to drive any stepper. Always use a separate power supply. And', of course, this also means you need a driver board.

Have you measured the coil resistance? What is it.

I presume there are only 4 wires coming from the motor. Its not clear in your picture.


Thats right, there are four cables coming out from it, but I have no idea of what is each cable as I don't have access to the datasheet. I tried to drive it only with arduino but it vibrates, i does not move. As you said it seems like the arduino hasn't got enough power. You would recommend to calculate the resistance between the wires and then you could guess what current/voltage is needed?

Thanks for your help :)

you have a bi-polar motor.

you need to use an h-bridge. you can make one, or you can buy one. there are dozens available.

buy one from adafruit or sparkfun. BEFORE YOU BUY, make sure the site you buy from has a forum and a data sheet, wiring diagrams, instructions and a tutorial.

my advise is that you are going to spend a lot more for this than the cheapest one off e-bay. but, you are not buying hardware, you are buying knowledge. you are buying help, and the work of others to make it easy to use.

consider that you do not understand how the stepper works or why, and what is needed to make a circuit for it. would spending $20 on that knowledge be worth the investment in yourself ?

the problem with the current motor, and it is only a problem for your current learning curve, is that the motor really as two circuits, two coils. each one has to be powered, first positive on lead 1 and ground on lead 2, then it has to be powered positive on lead 2 and to ground on lead 1. so, you have to switch back and forth. then do the same on the other two leads with a separate circuit.

it is a large motor, do not throw it away. once you learn about steppers, it will be one you will need for power.

Anyway, is there any specific bipolar steper, that you would recommend?

I would recommend a NEMA42, triple stack. about $800, and a Gecko driver, about $150. a troid transformer as the basis for the power supply. trying to use anything less on a 10,000 pound cast iron milling machine will not work as well.

actually, you can by one for under $300 with a driver on e-bay. but you need 3 for your 3 axis milling machine.

that is if your project is to power a CNC milling machine.

a lot of hobbyists just take apart old printers and scanners and fax machines. alas, they offer tiny motors that are only good for projects like robots and such. old floppy drives are another souce.

if you have a computer repair shop nearby, stop in tell them you are a hobbyist and want to take apart some old scanners for the parts. scanners are better than printers. printers usually have gears, scanners often have belts.

Except for a very small stepper a h-bridge is not a good choice - perhaps not even then. A proper stepper motor driver board (the Pololu A4988 is typical) is much more suitable. All of the complications of the order of energizing the stepper coils are handled by the driver, not the Arduino. You only need two connections to the Arduino - Step and Direction.

The problem is not knowing the appropriate current draw of the motor. The A4988 driver can supply about 1 amp comfortably and maybe a bit more with external cooling. If you have a motor that needs more amps you will need a more commercial driver which will cost considerably more but is essentially the same as far as the Arduino control is concerned.

The A4988 driver board (and other similar products) has a preset potentiometer that allows you to set the maximum current to protect the motor. If you bought one of those boards you could try your motor with a low current first and then raise the current bit by bit while checking the temperature of the motor. Expect stepper motors to run normally at a temperature that is uncomfortable to touch.

It's hard to know whether it is more cost effective to continue with the free motor or to buy a new motor and appropriate driver board that you know is suitable for your application.

Have you measured the resistance in the motor coils?