Published in


4 DC Motors or 2 Stepper Motor or 2 Servos — 1.2A@25v & 3.2A@15v peak — Ardu-Serie#54

V1 uses L293D Darlington driver and V2 has the TB6612 MOSFET driver.

L293D: 1.2A@32V peak.

TB6612: 3.2A@15v peak.

The Code

The above code simply accelerates the DC Motor 5v forward to 10 ms and turn the motor to the reverse; Then repeat.

Adafruit v1


They, from Adafruit, 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 separate logic/motor supplies
  • Tested compatible with Mega, Diecimila, & Duemilanove
  • Full kit available for purchase from the Adafruit shop.
  • Download the easy-to-use Arduino software libraries and you’re ready to go!
  • Motors take a lot of power, and can cause ‘brownouts’ that reset the Arduino. For that reason the shield is designed for seperate (split) supplies — one for the electronics and one for the motor. Doing this will prevent brownouts
  • Try soldering a ceramic or disc 0.1uF capacitor between the motor tabs (on the motor itself!) this will reduce noise that could be feeding back into the circuit
  • All 6 analog input pins are available. They can also be used as digital pins (pins #14 thru 19)
  • Digital pin 2, and 13 are not used.
  • The following pins are in use if any DC/steppers are used
    Digital pin 4, 7, 8 and 12 are used to drive the DC/Stepper motors via the 74HC595 serial-to-parallel latch
  • The following pins are used only if that particular servo is in use:
    Digitals pin 9: Servo #1 control
    Digital pin 10: Servo #2 control
Adafruit v1

The code

Now let’s see V2:

The original Adafruit Motorshield kit is one of their most beloved kits, which is why Adafruit decided to make something even better. They have upgraded the shield kit to make the best board, the easiest way to drive DC and Stepper motors. They kept the ability to drive up to 4 DC motors or 2 stepper motors, but added many improvements:

Instead of an L293D Darlington driver, They now have the TB6612 MOSFET drivers with 1.2A per channel current capability (you can draw up to 3A peak for approx 20ms at a time). 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, they have a fully-dedicated PWM driver chip onboard. This chip handles all the motor and speed controls over I2C. Only two GPIO pins (SDA & SCL) plus 5v and GND. 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, Leonardo, Due and Mega R3.

Adafruit v2

The code






Download All Files for This Project

Credits & References

Understanding the Adafruit Motor Shield Library

Adafruit Motor/Stepper/Servo Shield for Arduino kit — v1.2

First Install the AF_Motor Arduino Library

Github adafruit/Adafruit-Motor-Shield-library


Microcontroller Based Interface Design Part By 3 System Engineering the Rover

Version 2 Schema: adafruit_products_mshieldv2schem.png

Schematic: https://learn.adafruit.com/assets/9536

Related Posts:

Meet DoRobot — Assembly Techniques J3 Caterpillar-Crawler-Chassis v 1.0 — ArduSerie#46

L9100S — Toy Driver Easy To Use — Toy-low-voltage-h-bridge-easy-to-use-motor — .8A@12v peak — Ardu_Serie#47

EASYDRIVER: 4-Wire-Stepper Motor DriverBrian Schmalz Design on A3967 IC — Bi-Polar Motors — .75A@30v peak — Making Using These a Breeze! Ardu_Serie#48

DRV8825 — High Current Stepper Motor Driver Carrier — Stepper Motor — Bipolar Mode — 2.5A@45v peak — Ardu_Serie #59

L298N — Dual Full-Bridge Driver — Darlington Transistor Arrays Based — 3A@50v peak — Ardu-Serie#52

TB6612FNG: Dual DC Motor Driver — SparkFun Motor Driver — 3.2A@13.5v peak — Ardu-Serie#49

A4988 — Stepper Motor Driver Carrier — Allegro’s A4988 — Bipolar Stepper Motor Driver — 2A@35v peak — Ardu-Serie#53

Adafruit Motor Shield v1 & v2–4 DC Motors or 2 Stepper Motor or 2 Servos — 1.2A@25v & 3.2A@15v peak — Ardu-Serie#54

IFR 520 MOS — Module + DoRobot — Switch Heavy DC Loads — 10A@100v peak — Ardu-Serie#60

L9110 H-bridge module + DoRobot — DC Stepper Motor Driver Board — .8A@12 v peak — Ardu_Serie#62

BTS7960B- High Current PN Half Bridge — High Current Motor Drive Applications — NovalithIC T M — 43A@24v peak — ArduSerie#64

VNH2SP30 — Monster Moto Shield — Use This Board In Extreme High-Demand Application — Full-Bridge Motor Drivers — 30A@16v peak — Ardu_Serie#63

— Edited 6/2020 — Fix broker links:)



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store


Hi, Guys o/ I am J3! I am just a hobby-dev, playing around with Python, Django, Lego, Arduino, Raspy, PIC, AI… Welcome! Join us!