The Arduino Motor Shield is designed to drive miscelleneous inductive loads such as:

  • Relays
  • Solenoids
  • DC and stepping motors

If you are looking to use Arduino Motor Shield for a robotic project such as a mobile robot, you need to know that the Arduino Shield can drive independently the speed of two DC motors. You can also measure the motor current absorption of each motor, among other features.

Motors connections

Brushed DC motor connection is done by connecting the two wires to the + and - screw terminals for each channel A and B. You can control its direction by setting HIGH or LOW the DIR A and DIR B pins and speed by varying the PWM A and PWM B duty cycle values.

If set to HIGH, the A and B Brake pins will effectively brake the DC motors rather than let them slow down by cutting the power. You can measure the current going through the DC motor by reading the SNS0 and SNS1 pins. On each channel will be a voltage proportional to the measured current, which can be read as a normal analog input, through the function analogRead() on the analog input A0 and A1. For your convenience it is calibrated to be 3.3V when the channel is delivering its maximum possible current, that is 2A.


  • Motor controller: L298P, Drives 2 DC motors or 1 stepper motor
  • Max current: 2A per channel or 4A max (with external power supply)
  • Current sensing 1.65V/A

The Arduino Motor Shield must be powered only by an external power supply. External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. To avoid possible damage to the Arduino board on which the shield is mounted, we recommend that you use an external power supply with an output voltage between 7 and 12V. If your motor require more than 9V, it is recommended to cut the "Vin connect" jumper placed on the back side of the shield.

Inputs Outputs

This shield has two separate channels, called A and B, that each use 4 of the Arduino pins to drive or sense the motor. In total there are 8 pins in use on this shield. You can use each channel separately to drive two DC motors or combine them to drive one bipolar stepper motor. The shield's pins, divided by channel are shown in the table below:

Function Pins per Ch. A Pins per Ch. B
Direction D12 D13
PWM D3 D11
Brake D9 D8
Current Sensing A0 A1

Part List

  • 1x motor shield


Operating Voltage 5-12V

Write a question

Please login or register to review

Write a review

Please login or register to review

Arduino Motor Shield R3

  • Arduino
  • Arduino Motor Shield R3 is perfect to control the motor of your robotic project. Motor Controller and other robotic project available in our store.
  • --
  • $ US22.00 $ US12.00
  • USD 250.00 Left For Free Shipping

Related Products

Standard DC motor 6V 12500RPM

Standard DC motor 6V 12500RPM

Standard DC motor, easy to operate, that can be used in any basic project. Typical toy or hobby moto..

$ US0.80 $ US1.20

Pololu DRV8801 Single Brushed DC Motor Controller

Pololu DRV8801 Single Brushed DC Motor Controller

Clearance sale. Special price!The Pololu DRV8801 is a tiny breakout board that provides a modern alt..

$ US2.00 $ US4.95

Adafruit Motor Shield (DC, Stepper, Servo) for Arduino v2 Kit

Adafruit Motor Shield (DC, Stepper, Servo) for Arduino v2 Kit

The Adafruit motor shield V2 kit is one of the most popular product from the brand. This second revi..

$ US15.95 $ US19.95

Tags: arduino