Arduino library providing an object-oriented interface for 2, 3 or 4 pin stepper motors and motor drivers.


AccelStepper provides an object-oriented interface for 2, 3 or 4 pin stepper motors and motor drivers on Arduino and compatible devices.

The standard Arduino IDE includes the Stepper library ( for stepper motors. It is perfectly adequate for simple, single motor applications.

AccelStepper significantly improves on the standard Arduino Stepper library in several ways:

  • Supports acceleration and deceleration
  • Supports multiple simultaneous steppers, with independent concurrent stepping on each stepper
  • API functions never delay() or block
  • Supports 2, 3 and 4 wire steppers, plus 3 and 4 wire half steppers.
  • Supports alternate stepping functions to enable support of AFMotor (
  • Supports stepper drivers such as the Sparkfun EasyDriver (based on 3967 driver chip)
  • Very slow speeds are supported
  • Extensive API
  • Subclass support



  • Many Motors supported

    AccelStepper supports a wide range of motor types, including 2, 3, 4 pin motors and drivers
  • Easy Integration

    Integrated readily into your product. Full source code provided. Wide range of Aduino and similar processors supported.

  • active community

    There is an active community for help and discussion on


  • C++ library

    Full C++ source code and example sketches. Find the latest version and documentation at
  • subclassable

    Make you own specialised subclasses
  • multiple steppers

    You can run multiple steppers at the same time. You can even cooordinate multiple steppers so they all rach teir end position at the same time: great for 2d and 3d positioning systems
  • Services

    Support and professional services are available. Contact




Application License

  • Perpetual license

  • 1 application

  • Can distribute binary products only

  • Commercial use

Need custom services for this product? Get a quote