# AccelStepper library for Arduino

This is the Arduino AccelStepper 1.2 library. It provides an object-oriented interface for 2 or 4 pin stepper motors.

The standard Arduino IDE includes the Stepper library (http://arduino.cc/en/Reference/Stepper) 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 and 4 wire steppers
- Supports stepper drivers such as the Sparkfun EasyDriver (based on 3967 driver chip)
- Very slow speeds are supported
- Extensive API
- Subclass support

The latest version of this documentation can be downloaded from http://www.open.com.au/mikem/arduino/AccelStepper

Example Arduino programs are included to show the main modes of use.

The version of the package that this documentation refers to can be downloaded from http://www.open.com.au/mikem/arduino/AccelStepper/AccelStepper-1.3.zip You can find the latest version at http://www.open.com.au/mikem/arduino/AccelStepper

Tested on Arduino Diecimila and Mega with arduino-0018 on OpenSuSE 11.1 and avr-libc-1.6.1-1.15, cross-avr-binutils-2.19-9.1, cross-avr-gcc-4.1.3_20080612-26.5.

Installation
  Install in the usual way: unzip the distribution zip file to the libraries sub-folder of your sketchbook.

This software is Copyright (C) 2010 Mike McCauley. Use is subject to license conditions. The main licensing options available are GPL V2 or Commercial:

Open Source Licensing GPL V2
  This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it. If you wish to use this software under Open Source Licensing, you must contribute all your source code to the open source community in accordance with the GPL Version 2 when your application is distributed. See http://www.gnu.org/copyleft/gpl.html

Commercial Licensing
  This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application. Contact info@open.com.au for details.

Revision History

Version:
  1.0 Initial release

  1.1 Added speed() function to get the current speed.

  1.2 Added runSpeedToPosition() submitted by Gunnar Arndt.

  1.3 Added support for stepper drivers (ie with Step and Direction inputs) with _pins == 1

Author:
  Mike McCauley (mikem@open.com.au)