Connect Stepper Motor to Arduino




Introduction: Connect Stepper Motor to Arduino

About: Studying electro...

Hi to all. In this tutorial i will help you to connect an unipolar stepper motor to your arduino.

To do this you'll need

1x Arduino board -> on ebay aprox 10$

1x driver for stepper ->they are cheap on ebay (just type in ebay :ULN2003 Stepper Motor Driver Board around 1$)

1x unipolar stepper motor -> the price depends on size etc..or you can find then in old printing machines

So,this is all we need,and let's get started !

Step 1: Connect Your Stepper to the Driver

In this step you need to connect the wires from stepper to the driver.Most steppers have 6 wires,three for one coil,and three for second coil,if you are not sure witch wire it's in the middle of the coil find it with Ohm meter.

When you find both wires connect them together and that will be the positive terminal.The other 4 wires solder in a female connector and put it in the WHITE male connector on the driver.

Warning! Because stepper consumes quite a lot of current,you need to connect this driver to the external power supply and NOT on the arduino!!

Step 2: Now Connect the Driver With Arduino

You're doing great! Now you just need 4 wires and with them connect driver shield to arudino,on arudino i selected ports 8,9,10,11,but you can use other ports too!

Step 3: Almost Finish! Just a Bit of Programing...

Now the hardware is finished and we can start programing. Open the arduino software and copy this program

Some tips : You need to know

steps = Number of steps in One Revolution * Gear ratio .

Maybe you'll need to figure out witch port it's first,second,third and forth because it's not 100% that they are connected properly and the motor will not spin

#include <Stepper.h>

const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution // for your motor

// initialize the stepper library on pins 8 through 11:

Stepper myStepper(stepsPerRevolution, 8,9,10,11);

void setup() {

// set the speed at 60 rpm:


// initialize the serial port:

Serial.begin(9600); }

void loop() {

// step one revolution in one direction:




// step one revolution in the other direction:





If you need help ask in the comments or send me email :




    • Tiny Home Contest

      Tiny Home Contest
    • Fix It! Contest

      Fix It! Contest
    • Water Contest

      Water Contest

    10 Discussions

    How do I connec it to the power supply? You only told us how to connect it to the arduino.

    my stepper motor contains 2 wires .how to connect a driver and adrino

    my stepper motor is 103H7124-1041 how i connect

    my stepper motor gives whistle voice during rotation.
    Who knows what the problem is?
    my stepper motor is 42BYGH40388

    My stepper only have 4 wires...

    Thanks,there will be more projects,like how to connect OLED i2C display,nrf modul if you want to be updated-FOLLOW ! :)

    I think the step code is for step/dir connections (bipolar) ?

    Sure a pin driver (That is that the ULN2003 was designed to do, drive solenoid pins -- it is an array of diode protected Darlington transistors) will run a stepper motor. It just will not run it very well. You need to control current with feedback running a stepper motor. Get a real stepper driver, then just output step, and direction signals with your microcontroller.