The Arduino Motor Shield is based on the L298 (datasheet), which is a dual full-bridge driver designed to drive inductive loads such as relays, solenoids, DC and stepping motors.
The original L293D Motorshield kit is one of our most beloved kits, We kept the ability to drive up to 4 DC motors or 2 stepper motors, but added many improvements:
Instead of a L293D darlington driver, we now have the TB6612 MOSFET driver: with 1.2A per channel and 3A peak current capability. It also has much lower voltage drops across the motor so you get more torque out of your batteries, and there are built-in flyback diodes as well.
Instead of using a latch and the Arduino\'s PWM pins, we have a fully-dedicated PWM driver chip onboard. This chip handles all the motor and speed controls over I2C. Only two pins (SDA & SCL) are required to drive the multiple motors, and since it\'s I2C you can also connect any other I2C devices or shields to the same pins. This also makes it drop-in compatible with any Arduino, such as the Uno, Due, Leonardo and Mega R3.
Completely stackable design: 5 address-select pins means up to 32 stackable shields: that\'s 64 steppers or 128 DC motors! What on earth could you do with that many steppers? I have no idea but if you come up with something send us a photo because that would be a pretty glorious project.
Tested compatible with Arduino UNO, Leonardo, ADK/Mega R3, Due, Diecimila & Duemilanove. Works with Mega/ADK R2 and earlier with 2 wire jumpers.