Cheap Dual Stepper Driver!





Introduction: Cheap Dual Stepper Driver!

Hello everyone!, today i would like to tell you how to make cheap, dual stepper driver!

I hope you enjoy this project for nice robotics project!

Visit my project blog below:

Step 1: Recognizing Your Stepper Motor!

A stepper motor contains average 4 to make a lot of different direction. It also has 5, 6, even 8 wires!

for this project, we need the 5 wires stepper motor. for another wires(ex: 8) wait for the update!

you also can connect the 6 wires stepper by connecting the common wires as 1 common

Recognize your stepper wires with knowing the common(1 wire usually -) and the coils(4 wires). look the stepper wires colors above!

Step 2: Make the PCB!

The most important of this project is make the PCB artwork.

You need the Circuit Wizard software, download below:

For the data, download below:

You also need the components below:

  • ULN2003 or ULN 2004
  • Connector

that's all that we need!

Step 3: Connecting Your Stepper Wires!

Connect your stepper wires to your cheap driver!

When you had finished the steps before connect the + and - to your battery, because if you connect your power to arduino it will not enough power!.

and connect your connector(the nail connector) to arduino 1 until 7 pins until it fits in arduino(look the picture).

Step 4: Arduino Code and Test Your Stepper Motor!

Copy those code below to your arduino software:

/* Stepper Copal
* ------------- * * Program to drive a stepper motor coming from a 5'25 disk drive * according to the documentation I found, this stepper: "[...] motor * made by Copal Electronics, with 1.8 degrees per step and 96 ohms * per winding, with center taps brought out to separate leads [...]" * [] * * It is a unipolar stepper motor with 5 wires: * * - red: power connector, I have it at 5V and works fine * - orange and black: coil 1 * - brown and yellow: coil 2 * * (cleft) 2005 DojoDave for K3 * | * * @author: David Cuartielles * @date: 20 Oct. 2005 */

int motorPin1 = 0;

int motorPin2 = 1;

int motorPin3 = 2;

int motorPin4 = 3;

int delayTime = 500;

void setup() {

pinMode(motorPin1, OUTPUT);

pinMode(motorPin2, OUTPUT);

pinMode(motorPin3, OUTPUT);

pinMode(motorPin4, OUTPUT); }

void loop() {

digitalWrite(motorPin1, HIGH);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, LOW);


digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, HIGH);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, LOW);


digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, HIGH);

digitalWrite(motorPin4, LOW);


digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, HIGH);

delay(delayTime); }

Step 5: Finishing

If you want to control 2 steppers, add the pins in void setup and edit the code. Maybe you can search in google etc.

for more project:

Thanks for:

Circuit Wizard



    • Woodworking Contest

      Woodworking Contest
    • Casting Contest

      Casting Contest
    • Make it Move Contest

      Make it Move Contest

    We have a be nice policy.
    Please be positive and constructive.




    dear hi

    i have a steper motor and i want to make its driver,

    motor specification is,,oz4200..volt2.3,,,apm15...hz60.DC

    i want to drive it in differiat pulse

    pleas guide me


    1 reply

    I think it is hard to help ypu based on these specs. oz4200 is most likely the weight of the motor ..apm15, maybe is rpm15 60hz in combo with DC is a bit odd.

    What really is important: how many wires does it have?
    Anyway, just take a multimeter and measure which leads belong to eachother (meaning: having the same coil) once you have done that it is just a matter of applying voltage to the proper coil in the proper sequence.
    If you have a unipolar motor with seperate central leads, most likely you can drive it as a bipolar motor as well. Which is usually the easiest.

    Can drive it in full step or half step mode.
    However you have to start with identifying the leads as I described above and as is mentioned in this ibble