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 a micro-stepping function. The RPM of the stepper motor depends upon the frequency and duty-cycle 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!

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


    • Meatless Challenge

      Meatless Challenge
    • Sculpt & Carve Challenge

      Sculpt & Carve Challenge
    • Fabric Challenge

      Fabric Challenge



    2 years ago

    I've used this with a linear taper slider pot to very good effect. Nice job on the instructable.


    Reply 2 years ago

    Thanks! If possible, do share a picture of your creation by clicking on 'I Made It!'.


    Question 3 years 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 3 years 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:


    3 years ago on Introduction

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


    Reply 3 years 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.