A4988 Stepper Motor Driver

A4988 Stepper Motor Driver Up to 2 Amps

50.00 EGP

The A4988 is a micro-stepping driver for controlling bipolar stepper motors which have the built-in translator for easy operation. This means that we can control the stepper motor with just 2 pins from our controller, or one for controlling the rotation direction and the other for controlling the steps.

In stock

Product Description

The A4988 Stepper Motor Driver provides five different step resolutions: full-step, half-step, quarter-step, eight-step in addition to, sixteenth-step. Also, it has a potentiometer for adjusting the current output. Furthermore,  the A4988 Stepper Motor Driver has over-temperature thermal shutdown protection, and crossover current protection.

The A4988 Stepper Motor Driver logic voltage is from 3 to 5.5 V and the maximum current per phase is 2A. Accordingly, if you provide a good heat sink or a cooling fan, it can take up to 2 amps of continuous current. Otherwise, 1A continuous current per phase without heat sink or cooling.

A4988 Stepper Motor Driver Specifications

  • Minimum operating voltage: 8 V
  • Maximum operating voltage: 35 V
  • Continuous current per phase: 1 A2
  • Maximum current per phase: 2 A3
  • Minimum logic voltage: 3 V
  • Maximum logic voltage: 5.5 V
  • Microstep resolutions: full, 1/2, 1/4, 1/8, and 1/16

A4988 Stepper Motor Driver Connectivity

A4988 Stepper Motor Driver Wiring Diagram

First of all, before you connect the motor you should adjust the current limiting of the driver so that you are sure that the current is within the current limits of the motor. You can do that by adjusting the reference voltage using the potentiometer on the board and considering this equation:

Current Limit = VRef x 2

Where VRef is the voltage measured between the potentiometer metal body itself and GND.

Please read the datasheet carefully before using this driver.


//     Simple Stepper Motor Control Example Code
//     by Dejan Nedelkovski, www.HowToMechatronics.com

// Defines pins numbers
const int stepPin = 3;
const int dirPin = 4; 

int customDelay,customDelayMapped; // Defines variables
void setup() {
  // Sets the two pins as Outputs
  digitalWrite(dirPin,HIGH); //Enables the motor to move in a particular direction
void loop() {
  customDelayMapped = speedUp(); // Gets custom delay values from the custom speedUp function
  // Makes pules with custom delay, depending on the Potentiometer, from which the speed of the motor depends
  digitalWrite(stepPin, HIGH);
  digitalWrite(stepPin, LOW);
// Function for reading the Potentiometer
int speedUp() {
  int customDelay = analogRead(A0); // Reads the potentiometer
  int newCustom = map(customDelay, 0, 1023, 300,4000); // Convrests the read values of the potentiometer from 0 to 1023 into desireded delay values (300 to 4000)
  return newCustom;  

Additional Information

Weight5 g


There are no reviews yet.

Be the first to review “A4988 Stepper Motor Driver Up to 2 Amps”

Your email address will not be published. Required fields are marked *