Arduino Stepper Motor/Servo/DC Motor Shield

Arduino is a great starting point for electronics, and with a motor shield it can also be a nice tidy platform for robotics and mechatronics. Here is a design for a full-featured motor shield that will be able to power many simple to medium-complexity projects.

  • 2 connections for 5V 'hobby' servos connected to the Arduino's high-resolution dedicated timer - no jitter!
  • Up to 4 bi-directional DC motors with individual 8-bit speed selection (so, about 0.5% resolution)
  • Up to 2 stepper motors (unipolar or bipolar) with single coil, double coil, interleaved or micro-stepping.
  • 4 H-Bridges: L293D chipset provides 0.6A per bridge (1.2A peak) with thermal shutdown protection, 4.5V to 25V
  • Pull down resistors keep motors disabled during power-up
  • Big terminal block connectors to easily hook up wires (10-22AWG) and power
  • Arduino reset button brought up top
  • 2-pin terminal block to connect external power, for seperate logic/motor supplies
  • Tested compatible with UNO, Mega, Diecimila, & Duemilanove
    2237992158_d1be17779d_b.jpg

Schematics & Layout

You can grab the latest Schematic, Layout files (EagleCAD format from github. Click the ZIP download button at top middle to download the entire zip.

Firmware

  • Arduino Stepper/Servo software library with microstepping support.
    To install, click on Downloads in the middle of the page, select Download as zip and uncompress the folder. 
     
    Rename the folder to AFmotor (check that the renamed folder contains the .cpp and .h files) and install into the Arduinosketches/libraries folder. For information how to use and install libraries, see our tutorial! This version now works with with the Mega. Public domain!
  • AccelStepper library with AFMotor support. This library allows for advanced stepper control including accelleration and decelleration, and concurrent stepper control! You still need AFmotor above!
    To install, click on Download in the middle of the page, select Download as zip and uncompress the folder. 
    Rename the folder to AccelStepper (check that the renamed folder contains the .cpp and .h files) and install into the Arduinosketches/libraries folder. For information how to use and install libraries, see our tutorial!