Home » Motor Controller » Driving Unipolar Stepper Motor using IC 555 Timer
Driving Unipolar Stepper Motor using IC 555 Timer

Driving Unipolar Stepper Motor using IC 555 Timer

In this project we are going to run a unipolar stepper motor using 555 timer. Apart from 555 timer we also need IC CD 4017 which is a decade counter IC.

By Ankit Negi

Any unipolar motor can be connected to this circuit for performing specific task, though you need to do some small changes first.

Speed of the stepper motor can be controlled from a potentiometer connected between discharge and threshold pin of 555 timer.

Some basics of stepper motor:

Stepper motors are used in such areas where specific amount of rotation is required as d.c motor cannot start and stops instantly at the required position. Like in a 3D PRINTER. There are two types of stepper motor: UNIPOLAR and BIPOLAR.

As the name suggests unipolar stepper motor contains windings with common wire which can be easily energized one by one.

Whereas bipolar stepper motor does not have a common lead between coils due to which it cannot be drive simply by using this circuit. To drive bipolar stepper motor we need an h-bridge circuit.


1. 555 TIMER IC

2. CD 4017 IC

3. RESISTORS 4.7K,  1K



6. 4 DIODES 1N4007





555 timer is required here to generate clock pulses of particular frequency (can be varied using 220k pot) which determines the speed of the stepper motor.

IC 555 Pinout details

IC 555 pinout details, ground, Vcc, reset, threshold, discharge, control voltage


As already mentioned above, it is a decade counter IC i.e., it can count up to 10 clock pulses. What make this IC special is that it has its own inbuilt decoder. Due to which you do not have to add an additional IC to decode binary numbers.

4017 counts up to 10 clock pulses from 555 timer and gives high output corresponding to each clock pulse one by one from its 10 output pins. At a time only one pin is high.


There are two purposes of transistor here:

1. Transistors act like switches here, thus energizing one coil at a time.

2. Transistors enable high current to pass through them and then motor, thus excluding 555 timer completely as it can supply very little amount of current.


Make connections as shown in figure.

1. Connect pin 3 or output pin of 555 timer to pin 14 (clock pin ) of IC 4017.
2. Connect enable pin or 13th pin of 4017 to ground.
3. Connect pins 3,2,4,7 one by one to transistors 1,2,3,4 respectively.
4. Connect 10 and 15th pin to ground through a 1k resistor.
5. Connect common wire of stepper motor to the positive of supply.
6. Connect other wires of stepper motor in such a way so that coils are energized one by one to complete one full revolution properly.( you can look into datasheet of the motor provided by the manufacturer)


As already mentioned above 4017 counts clock pulses one by one up to 10th clock pulse and gives high output on output pins accordingly, each output pin goes high.

This causes certain delay in rotation of motor which is unnecessary. As we require only first four pins for one complete revolution of motor or first four decimal counts from o to 3, pin no. 10 is connected to pin15 so that after 4rth count IC resets and counting starts from the beginning again. This ensures no delay in motor’s rotation.


After making connections properly if you switch on the circuit motor will start rotating in steps. 555 timer produces clock pulses depending on the values of resistor, potentiometer and capacitor.

If you change value of any of these three component frequency of clock pulse will change.

These clock pulses are given to IC CD 4017 which then counts the clock pulses one by one and give 1 as output to pin no 3,2,4,7 respectively and repeats this process continuously.

Since transistor Q1 is connected to pin 3, it switches on first then transistor Q2 followed by Q3 and Q4. But when one transistor is on all other remain off.

When Q1 is on it acts like a closed switch and current flows through common wire to wire 1 and then to ground through transistor Q1.

This energizes coil 1 and motor rotates at some angle which depends on clock frequency. Then same thing happens with Q2 which energizes coil 2 followed by coil 3 and coil 4. Thus one complete revolution is obtained.

When potentiometer is rotated:

Let’s say initially position of pot is such that there is maximum resistance (220k) between discharge and threshold pin. Formula for frequency of output clock pulse is :

F = 1.44/(R1 + 2R2)C1

It is clear from the formula that frequency of clock pulses decreases as value of R2 increases. Thus when R2 or pot’s value is maximum, frequency is minimum due to which IC 4017 counts more slowly and gives more delayed output.

As value of resistance R2 decreases, frequency increases which causes minimum delay between outputs of IC 4017. And hence stepper motor rotates faster.

Thus value of potentiometer determines speed of the stepper motor.


Here you can clearly see how speed of the motor varies with resistance R2. Its value is first decreased and then increased which in turn first increases and then decreases speed of the stepper motor.


About the Author

I am an electronic engineer (dipIETE ), hobbyist, inventor, schematic/PCB designer, manufacturer. I am also the founder of the website: https://www.homemade-circuits.com/, where I love sharing my innovative circuit ideas and tutorials. If you have any circuit related query, you may interact through comments, I'll be most happy to help!

9 thoughts on “Driving Unipolar Stepper Motor using IC 555 Timer”

    • it was a long time back he posted this article, not sure where we can find him. You can try finding him facebook hopefully.

  1. Have you used 9V dc source in your unipolar stepper motor project? I have done full circuit diagram in proteus 8 proffessional which is given in your procedure. But can’t find final output after switching run mode. Please help.

    • Sorry Tanvir, I am unable to help you with this project because it was designed and contributed by another author Mr. Ankit. It was simulated and tested by the author himself and not by me.
      However, in the simulation video it appears that a 9V batt has been used, so you can try with a 9V supply input

Leave a Comment