Red A4988 stepper driver board with soldered pins, SA4988 chip and current trimmer, beside its loose stick-on aluminium heatsink

A4988 Stepper Motor Driver Module with Heatsink

$3.99 NZD
Save 10% at 5+
Skip to product information
SKU: A4988-DRV-HS

A4988 Stepper Motor Driver Module with Heatsink

$3.99 NZD
Availability:
Order before 7:30am for same-day dispatch Dispatch 7 days a week, excluding public holidays

NZ Post: 1-2 days urban · 2-4 days rural

Shipping from $5.99 urban / $9.99 rural, or free pick-up in Te Awamutu.

Buy more, pay less Prices shown are per unit. Add enough of this item and the lower rate applies on its own at checkout. There is no code to enter and you do not need to buy a pack. Choosing a tier here just sets the quantity for you. Larger quantities go out in the same bag, so packing, handling and postage cost us less per unit. We pass that saving straight on to you, so you can buy more for less.

Easy 30-day returns · 12-month warranty

Add $66.00 for Free Urban delivery ($88.00 for Rural)
Urban $66 Rural $88

A stepper driver sits between your controller and a stepper motor. The controller sends one pulse for each step and sets the direction, and the driver turns that into the coil current the motor needs. This is an A4988-compatible driver on the standard StepStick board, the same 16-pin size and pin order used by RAMPS 1.4, CNC Shield V3 and V4 and many 3D printer boards, so it plugs straight into those sockets. The headers come soldered on, and a stick-on aluminium heatsink is in the bag.

It runs one 4-wire bipolar stepper such as a NEMA 17 from an 8 to 32V supply. The logic side takes 3.3V or 5V, so it also suits an Arduino, ESP32 or Raspberry Pi Pico build, wired with jumper leads or plugged into a breadboard. You set the motor current with the small screw on the board before the first run. It does not drive 5-wire motors like the 28BYJ-48, which use the ULN2003 board in our 28BYJ-48 kit. For a quieter 3D printer, the TMC2209 driver fits the same socket, and our driver guide compares the two.

Specifications

Driver chipSA4988, A4988-compatible microstepping driver
MotorOne bipolar stepper, 4 wires (NEMA 17, NEMA 14 and similar)
Motor supply (VMOT)8 to 32V DC
Logic supply (VDD)3 to 5.5V, so 3.3V and 5V boards both work
Current per coilUp to 1A on its own, about 1.5A with the heatsink and a fan
Step modesFull, 1/2, 1/4, 1/8 and 1/16 step, set by MS1 to MS3
ControlSTEP and DIR, plus EN to switch the motor off
Board15.2 x 20.5mm StepStick, about 11.5mm tall with pins, 2 rows of 8 at 2.54mm
In the box1 driver with headers soldered, 1 stick-on heatsink 9 x 9.5 x 5mm

Datasheets

Wiring & getting started

Wiring diagramArduino Nano
Wiring drawing: A4988 driver with the motor supply plus to VMOT and minus to the GND beside it, a 100uF capacitor across them, one motor coil to 1A and 1B and the other to 2A and 2B, VDD to Arduino Nano 5V, the GND beside VDD to Nano GND, STEP to D3, DIR to D4 and RST joined to SLP
Tap the drawing to open it full size.
  1. Plug in or wire up

    On a RAMPS 1.4 or CNC shield, line up the EN corner of the driver with the EN mark beside the socket and push it in. The board does the rest of the wiring, so go to step 3. For your own build, carry on with step 2.

  2. Wire it to an Arduino

    Connect your motor supply to VMOT and GND, with a 100uF capacitor across them close to the pins (the stripe side to GND). Use a capacitor rated above your supply voltage, for example 35V or more for a 24V supply. Connect one motor coil to 1A and 1B and the other to 2A and 2B (the top of the board prints 1B and 2B as B1 and B2). The two wires of one coil read a few ohms to each other on a multimeter. Then connect VDD to the Arduino's 5V, the GND beside it to the Arduino's GND, STEP to D3 and DIR to D4, and join RST to SLP with a short wire. Leave EN and MS1 to MS3 unconnected for full steps.

  3. Set the motor current

    With power on and the motor still, measure the voltage between the metal top of the small screw and GND. The two small resistors beside the chip are marked R100, so the voltage to set is your motor's current x 0.8, and a 1A motor needs 0.8V. Clockwise raises it. Start low and go up only if the motor misses steps.

  4. Fit the heatsink

    Peel the backing and press the heatsink onto the square chip, keeping it clear of the pins around the edge.

  5. Run the test code

    Upload this sketch to a Nano or Uno. No library is needed.

    Example Arduino codeArduino C++
    // A4988 test: one turn forward, one turn back
    // STEP to D3, DIR to D4, RST joined to SLP
    
    const int STEP_PIN = 3;
    const int DIR_PIN = 4;
    const int STEPS_PER_TURN = 200;  // 1.8 degree motor, full step
    
    void turn(bool forward) {
      digitalWrite(DIR_PIN, forward ? HIGH : LOW);
      for (int i = 0; i < STEPS_PER_TURN; i++) {
        digitalWrite(STEP_PIN, HIGH);
        delayMicroseconds(1000);
        digitalWrite(STEP_PIN, LOW);
        delayMicroseconds(1000);
      }
    }
    
    void setup() {
      pinMode(STEP_PIN, OUTPUT);
      pinMode(DIR_PIN, OUTPUT);
    }
    
    void loop() {
      turn(true);
      delay(500);
      turn(false);
      delay(500);
    }
  6. Check it works

    The motor turns one full turn, pauses for half a second, turns one full turn back, and repeats. If it buzzes or shakes without turning, the coil wires are mixed up, so check which pairs read a few ohms and wire each pair to 1A/1B or 2A/2B. If it turns the other way to what you want, swap the 1A and 1B wires. If nothing happens, check the RST to SLP link and the motor supply.

Note: Never plug or unplug the motor while the motor supply is on. The voltage spike destroys the driver.

Frequently Asked Questions

Answers to the questions buyers ask most.

What happens if I plug it in the wrong way round?
Plugged in backwards, the driver is destroyed as soon as the power goes on, and it can take the controller board's socket with it. Before powering up, check that EN on the driver lines up with EN beside the socket and VMOT lines up with VMOT.
Which step setting should I use?
For a 3D printer or CNC, use 1/16 step. It runs smoother and quieter than full step. Leave MS1 to MS3 unconnected for full step, connect MS1 to VDD for 1/2, MS2 for 1/4, MS1 and MS2 for 1/8, and all three for 1/16. On a RAMPS 1.4 or CNC shield, fitting all three jumpers under the driver gives 1/16. Your firmware or code then needs 16 pulses for each full step.
Can I use it with an ESP32 or Raspberry Pi Pico?
Yes. Power VDD from the board's 3.3V pin, not 5V, and connect the GND beside VDD to the board's GND. With VDD at 5V, a 3.3V STEP or DIR signal is too low to count as on, so the motor does not move. The motor supply still goes to VMOT as normal.
Why does my motor stop for a moment every few seconds?
The driver is overheating and switching itself off to cool down. Lower the current with the screw, fit the heatsink if you have not, or add a small fan blowing across it. The chip runs hot to the touch, which is normal.
Why does my motor miss steps or lose position?
Usually the current is set too low, or the motor is asked to speed up too fast. Raise the current a little at a time, staying within your motor's rating, and lower the acceleration in your firmware. If it misses steps only at high speed, a higher motor supply voltage such as 24V instead of 12V helps.
Does the motor hold its position when it stops?
Yes. While the driver is enabled, the motor is held firmly in place at full current. To let it turn freely and run cooler, pull EN high (connect it to VDD or set that pin high in code). It locks again when EN goes low.
Do I need the capacitor on a RAMPS or CNC shield?
No. Those boards already have capacitors on the motor supply. You only add the 100uF capacitor when you wire the driver yourself, as close to VMOT and GND as you can.
Should I get the A4988 or the TMC2209?
The A4988 is the simple, low-cost choice and works well for CNC machines, sliders and printers where noise does not matter. It hisses and whines at low speed. The TMC2209 fits the same socket, runs almost silent and stays cooler, so it is worth the extra for a printer in a living space. Our A4988 vs TMC2209 guide covers the differences in detail.

Have a Question About This Product?

Send it through and we will get back to you by email.

Why Buy from NZN

Useful parts, fair prices and someone local to help.

I'm Lukas, an engineering student and maker based in Te Awamutu. NZN grew out of a CNC build that dragged on for months because every missing cable, bolt or electronic part meant another overseas order. I started the shop so Kiwi makers can spend more time building and less time waiting for the next parcel.

  • Stocked here in New Zealand

    Orders are picked and packed in Te Awamutu and dispatched within 24 hours every day, excluding public holidays. NZ Post target delivery is 1-2 days urban and 2-4 days rural. In Te Awamutu and Kihikihi you can choose local delivery at checkout: same day if you order before 8am, otherwise next day.

  • Fair prices, clearly shown

    Prices are kept competitive and quantity discounts are shown upfront. Free delivery starts at $66 for urban addresses and $88 for rural addresses.

  • 30-day returns and 12-month warranty

    Get in touch if something is not right and we will help sort it.

  • Practical product support

    Ask a product question and get help from a real person in New Zealand who knows the range.

You may also like