For this tutorial you will need the following:

2x DRV8871 Breakout Boards

Each DRV8871 breakout board contains a single H-bridge.  Since the stepper motor has 2 sets of windings, we will need two of them:  One DRV8871 for each winding.

A Microcontroller

We are using an Arduino UNO R3.  But most Arduino compatibles will work as well.


We are using a full-size board here.  But the circuit would fit on a half-size breadboard just as well.

Hookup Wire or Jumpers

A Stepper Motor

In the example circuit, we are using a bipolar stepper with the following specs:

  • NEMA 17
  • Torque: 76 oz-in - 5.47 kg-cm
  • Step Angle: 1.8
  • Winding Resistance: 1.8 Ohms/Phase
  • DC 2 A/Phase
  • 12-24VDC (Recommended)

But this tutorial will work with many NEMA-17 and NEMA-23 bipolar stepper motors -including the NEMA-17 motor from our store.

Just having current limiting is not enough to protect your motor. You need to make sure that the current limit is set to an appropriate level for your motor. The DRV8871 comes configured to limit the current at 2A. Check your motor specifications. If it is rated for less than 2A current, you will need to change the 'RLIM' resistor to reduce the current limit for the DRV8871.

A Power Supply

We are using a 12v/5A supply in our example circuit.

Using our example motor with a 1.8 ohm phase resistance, this would draw 6.7A per phase and would quickly burn out a V1 or V2 motor shield.  

But the DRV8871 breakout is configured to automatically limit the current to a maximum of 2A.  This is a safe level for both the motor and the driver.

With some motors, the DRV8871 chips will get quite hot. Sometimes hot enough to trip the thermal shutdown circuit. Adding heat sinks and/or a fan will help dissipate the extra heat.

This guide was first published on Aug 22, 2016. It was last updated on Aug 22, 2016.

This page (Materials) was last updated on Aug 21, 2016.

Text editor powered by tinymce.