PLEASE Help with 1.5 amp Unipolar Stepper Motor

I’m very new to electronics (and forums) and could really use some help/advice to get these stepper motors I bought working with Arduino.

The motor is a 23km-k225 Unipolar, 6 wire stepper and according to the data sheet the rated current is 1.5 amps (and I think 24V).

I was trying to use a ULN 2003 Darlington array but have read online that the ULN2003 only outputs 0.5Amps!
And I assume since the motor’s rated current is 1.5 amps, I need 1.5 amps per stepper wire (excluding the 2 common wires).

So what could I buy to get these motors to start working with my Arduino?

I want to make sure I know what I’m doing before I buy more stuff that isn’t what I need.
But I’d happily buy a pre-built driver but can’t find any to handle 1.5 amps.

Because I know so little, the easiest and most foolproof method would be most appreciated (or the most thorough explanation).

Here is the wiring

and code for reference in case I’m doing something else wrong too.

#include <Stepper.h>

// change this to the number of steps on your motor
#define STEPS 200 //(360/1.8 degrees = 200 steps)

#define motorPin1 4
#define motorPin2 5
#define motorPin3 6
#define motorPin4 7

// create an instance of the stepper class, specifying the number of steps of the motor and the pins it’s attached to
Stepper ArmStepper(STEPS, motorPin1, motorPin2, motorPin3, motorPin4);

void setup()
// set the speed of the motor to 30 RPMs


void loop()
// Step forward 100 steps
ArmStepper.step(100); //rotate 180 degrees
delay(2000); //pause for 2 second

// Step back 100 steps
ArmStepper.step(-100); // rotate -180 degrees
delay(2000); //pause for 2 second

Thanks, Ryan

Make sure exactly what the 1.5 amp rating is. That is is it 1.5A for the whole motor or is it the more likely 1.5A per winding. If that is the case your power supply will need to be at least 3A as there are two coils on at any one time. You can use FETs to switch the coils. See:-

However, it is normal to drive stepping motors at high voltages and use a chopping regulator to limit the current, so the 1.5A might not be the current you get at 24V, you really need to see the coil resistance as well.

Thanks Grumpy Mike,

your website really helped me understand what a stepper motor is.

Just so that I'm clear, I should connect the 3 legs of an FET with the 1)Gate going to an Arduino Pin, 2)Drain connected to a Stepper coil, and 3)Source going to GROUND; right?

And I'm not sure what the datasheet for the motor means. It just has a chart that says Rated Current = 1.5A, Resistance = 2.3 Ohms. So I don't know if they are referring to the whole motor or windings.

(Motor k255u)

But even if I have the amps and voltage wrong, won't the motor still turn but just be less efficient.

thanks again, Ryan

Just for the records. An ULN2X03 is nothing but some nicely packed transistors with an additional diode in it. (BTW don't forget the diode with the discrete solution!)

One or two ULN2803 can be used because they can be wired IN PARALLEL, so two packs will drive 2A. This could be an option, as they are extremely low cost...

Thanks for the reply deSilva.

If I decide to go that route, I'll probably use ULN 2003 arrays (since I already bought those).

Could I still use this same two wire set up, only with two ULN2003s paralleled? Would I need to change the resistors?


No, no, no, no! I mean IN PARALLEL, not serially. Just connect two of the inputs and the same outputs to get a 1A output.

There is no need for an external diode, as they are already inside the chip! Also there is no need for any resistor in front of the input, this is also already inside the chip. Do have a look at the basic sketch in the datasheet.