Stepper Motor Speed Control Without Microcontroller

Introduction: Stepper Motor Speed Control Without Microcontroller

An A4988 stepper motor driver is a great way to drive stepper motors. It requires a digital pulse signal to run the stepper motor for consecutive steps. It also features micro-stepping function. The RPM of the stepper motor depends upon the frequency of the input pulses. In this Instructable, I will be showing you how you can make a simple stepper motor controller by using a 555 timer IC as a digital pulse generator and get the motor running. Let's get started!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Get All the Parts and Componenets

Here is what all you will need:

An NE555 timer IC

A stepper motor

An A4988 stepper motor driver

A breadboard

Some jumper wires

Any capacitor between 1 and 47 uF

A 10k Ohm potentiometer(Also, try using a 100k one)

A 9-12 volt DC power source

A 1k Ohm resistor

An LED(Optional)

A 1k Ohm resistor(For the LED)

An SPDT switch(Optional, for controlling the stepper motor's direction)

A voltage regulator with a 5-volt output(L7805CV, use a regulator if you don't have a separate 5 volts power supply)

Step 2: Follow the Circuit Diagram and Set Up Everything

Follow the circuit diagram(click on it to get full view) and start by plugging on the 555 timer IC and the motor driver on the breadboard. Then, continue by connecting the capacitor and resistors to the 555 timer IC. Check the images above for reference.

Step 3: Connect the Stepper Motor to the Motor Driver

Connect the two pairs of the stepper motor's wires to the outputs of the A4988 driver board. Connect 1A and 1B to the first pair and 2A and 2B to the second one.

Step 4: Connect to Power and Turn It On

Double check all the wiring connections. The 555 timer IC and the A4988 motor driver's logic circuitry will require 5 volts. Since the 555 timer generates the output pulses with peak voltages equal to the supply voltage, you will not want any higher voltage signal to go in the motor driver's input. Use a voltage regulator if you have a single power input(12-volt) to get 5-volt output for the logic and control circuitry.

Step 5: Is It DONE?!

Don't stop here! Try experimenting with different values of resistors and capacitors. Also, this project can prove to be useful for stepper motor harvesters who take apart printers and similar stuff to get stepper motors and test them for performance.

Be the First to Share


    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest

    4 Discussions


    Question 1 year ago


    Many thanks for the very good description, great thing!

    I built everything as described, but I'm a little disappointed.

    How can I get a softer run?

    (The steppermotor is very small and runs with 5V.)


    Reply 1 year ago

    Mine has the same problem too. Try running the stepper motor in micro-stepping mode by wiring the motor driver's MS1, MS2, and MS3 as shown in the table below:


    1 year ago on Introduction

    I tried but not possible to operate motor please give me full circuit diagram.
    I am using lm555 with a4988


    Reply 1 year ago

    Check out the second step, click on the image of the circuit diagram to get a full view.
    Use NE555 timer, I used it and it works as expected.
    Make sure you are:
    not making loose wiring connections.
    not using faulty components, the 555 timer or the motor driver.
    connecting the SLEEP and RESET pins of the motor driver together.