Creative Commons images are CC BY-NC-SA 3.0

Description: The SparkFun AutoDriver board is based on the STMicro L6470 dSPIN stepper motor driver. This powerful chip allows you to control a stepper motor with a voltage from 8 to 45V at 3Arms over an SPI connection. The AutoDriver board has been designed to be easily integrated into a project, even with multiple boards. Just connect your motors and your SPI-capable microcontroller and get steppin'!

STMicro’s L6470 is a 3A, 8–45V bipolar stepper motor driver. It has built-in overcurrent detection, undervoltage detection, overtemperature detection, stall detection, a 5-bit ADC, and a switch input that can be used for either user jog control or as a hard stop function. As if that weren’t enough, it also features microstepping support (up to 128 microsteps per full step) and PWM drive voltage limiting. Please keep in mind that the L6470 requires a great deal more configuration and adds software complexity to your system.

Unlike most stepper motor drivers, the dSPIN is controlled over an SPI link. It has an onboard 16MHz oscillator, which allows it to autonomously execute movement commands. That means no more counting steps in your code! It also supports customized acceleration and deceleration profiles to prevent jerky starts and stops. Onboard registers track current speed and location.

This new version of the SparkFun AutoDriver’s hardware is slightly different from the previous revision. It has been modified to make it easier to daisy-chain multiple boards together with simple 10-conductor ribbon cables for data and 6-conductor ribbon cables for control. The library has been updated as well, with more information found in the Hookup Guide below.

The logic supply voltage supports both 3.3V and 5V I/O levels.

Get Started with the SparkFun AutoDriver Guide


  • Supports up to 128 Microsteps per Full Step
  • Daisy-Chain Capable
  • Over-Temperature Detect
  • Over-Current Detect
  • Under-Voltage Detect
  • PWM Drive-Voltage Limiting
  • SPI Controlled
  • Onboard Oscillator and Speed/Location Registers
  • Stall Detection
  • 5-bit ADC


Recommended Products

Customer Comments

  • Hi there,

    I’ve got a problem when using a 12V Lipo to power my Arduino Mega2560. A move command gets executed, when the Arduino Mega is connected via USB and the Lipo is hooked up to the AutoDriver and Vin of the Arduino.

    The move command doesn’t get executed however, if I power up the project only via the Lipo (connected to Vin and the stepper Driver). When that is the case, the Arduino 5V reads 5V, also on the Stepper Driver.

    And now the weird thing. When powering up while USB and Lipo connected, my example code waits 3 seconds for the stepper command. In that time I quickly unplug the USB and the move command works.

    I am using a buzzer tone before and after the move command which means that the code doesn’t get stuck anywhere I guess.

    Any ideas?

    • Arduino boards take a noteable amount of time to boot before executing a command. Is it possible that somehow in that time, your board is rebooting? Disconnecting the USB, or connecting it, causes the board to reboot.

      • Hi,

        I’m using a buzzer to indicate before and after the command. If I plug in the battery first and then the USB (before the command), the Arduino doesn’t reboot, as the first buzz doesn’t repeat. The motors then turn.

        • Hi,

          solved the problem, but don’t understand the cause. I used digital pins for the autodrivers 5V and GND. Once I use the mega’s 5V pin however, the autodriver works properly.

          Even though the pins are pulled first thing in the software, followed by a 3 second delay.

          Any idea why this happens?

  • Both the AutoDriver library and GitHub links above are 404

  • Minor errata: 3Arms => 3A or 3 amps

    • The formatting on that is a bit weird, but it is 3.0 A r.m.s. according to the datasheet (2nd bullet point on the first page).

Customer Reviews

No reviews yet.

Related Tutorials

Getting Started with the AutoDriver - v13

September 15, 2016

SparkFun's AutoDriver is a powerful tool for controlling stepper motors. Here's how to use it.