High-quality A4988 stepper motor driver modules (5 units) with sticky heatsinks — ideal for 3D printers, RepRap, CNC axes, robotics and DIY motion control. Supports microstepping, current limiting via onboard potentiometer and simple STEP/DIR interface.
| Brand | Unbranded / Generic |
| Model | A4988 Stepper Driver Module |
| MPN | Does Not Apply |
| Type | Stepper Motor Driver |
| Channels | Single driver per module (bipolar) |
| Microstepping | Full / 1/2 / 1/4 / 1/8 / 1/16 |
| Operating Voltage (Motor) | 8V – 35V (typical; check motor & module specs) |
| Logic Voltage | 3.3V – 5V (logic pins tolerant on many breakouts) |
| Condition | New |
| Unit Quantity | 5 |
| Country/Region of Manufacture | China |
| MS1 | MS2 | MS3 | Microstep |
| LOW | LOW | LOW | Full step |
| HIGH | LOW | LOW | Half step |
| LOW | HIGH | LOW | Quarter step |
| HIGH | HIGH | LOW | Eighth step |
| HIGH | HIGH | HIGH | Sixteenth step |
Paste this into ESPHome; change pins and timings to suit your motor. This uses ESPHome's stepper platform for A4988 drivers (STEP/DIR interface).
# ESPHome A4988 stepper example (ESP32)
esphome:
name: a4988_node
platform: ESP32
board: esp32dev
wifi:
ssid: "YOUR_SSID"
password: "YOUR_PASS"
logger:
api:
ota:
# Simple stepper using the A4988 (STEP/DIR)
stepper:
- platform: a4988
id: x_stepper
name: "X Axis Stepper"
step_pin: GPIO16
dir_pin: GPIO17
enable_pin: GPIO5 # optional: pull low to enable
sleep_pin: GPIO18 # optional: tie high to wake
reset_pin: GPIO19 # optional
max_speed: 1000 steps/s
acceleration: 200 steps/s^2
microsteps: 16 # keep in sync with MS1/MS2/MS3 wiring
# Example: simple cover-style automation (run 200 steps forward/back on schedule)
interval:
- interval: 1min
then:
- stepper.set_target:
id: x_stepper
target: 200
- delay: 5s
- stepper.set_target:
id: x_stepper
target: 0
# Expose a service to move absolute steps from Home Assistant
# (Home Assistant can call stepper.set_target via API)
Notes: set microsteps to match hardware MS pins. Use enable_pin to disable driver when idle (power saving / reduce heat). Always configure safe acceleration & max_speed for your motor.
This sketch uses the AccelStepper library (install via Library Manager). It supports speed, acceleration, and smooth moves.
// Arduino + A4988 example using AccelStepper
#include <AccelStepper.h>
// Define pins
const int stepPin = 2; // STEP
const int dirPin = 3; // DIR
const int enablePin = 8; // ENABLE (active low)
AccelStepper stepper(AccelStepper::DRIVER, stepPin, dirPin);
void setup() {
Serial.begin(115200);
pinMode(enablePin, OUTPUT);
digitalWrite(enablePin, LOW); // enable driver
stepper.setMaxSpeed(800.0); // steps per second
stepper.setAcceleration(200.0); // steps per second^2
Serial.println("A4988 AccelStepper demo ready");
}
void loop() {
// Move to 2000 steps (e.g., one revolution * steps per rev)
stepper.moveTo(2000);
while (stepper.distanceToGo() != 0) {
stepper.run();
}
delay(1000);
// Move back
stepper.moveTo(0);
while (stepper.distanceToGo() != 0) {
stepper.run();
}
delay(1000);
}
Tip: tune setMaxSpeed and setAcceleration to match your motor torque and microstep setting. Use digitalWrite(enablePin, HIGH) to disable driver.
Ships from UK. Dispatch within 1 business day International shipping available via eBay Global Shipping Programme.
Returns: 30-day returns accepted. Buyer pays return postage unless the item is faulty or not as described.