Introduction: Connect Stepper Motor to Arduino
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:
myStepper.setSpeed(60);
// initialize the serial port:
Serial.begin(9600); }
void loop() {
// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
If you need help ask in the comments or send me email : drimer525@gmail.com
**SOON ON KICKSTARTER HOPE YOU'LL HELP ME**

Participated in the
First Time Author Challenge
11 Comments
3 years ago on Step 1
can you plz send me the code on my email, because it is a bit blurry here
hamoqasim890@gmail.com
thnak you
Question 5 years ago on Step 2
How do I connec it to the power supply? You only told us how to connect it to the arduino.
6 years ago
my stepper motor contains 2 wires .how to connect a driver and adrino
6 years ago
my stepper motor is 103H7124-1041 how i connect
6 years ago
hi
my stepper motor gives whistle voice during rotation.
Who knows what the problem is?
my stepper motor is 42BYGH40388
7 years ago on Introduction
Can you share me whiring diagram?
8 years ago
My stepper only have 4 wires...
8 years ago on Introduction
Nice work, thanks for sharing this project!
Reply 8 years ago on Introduction
Thanks,there will be more projects,like how to connect OLED i2C display,nrf modul etc..so if you want to be updated-FOLLOW ! :)
8 years ago
I think the step code is for step/dir connections (bipolar) ?
8 years ago on Introduction
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.