Wireless Motor Driver Shield Hookup Guide

Pages
Contributors: Nick Poole, Shawn Hymel
Favorited Favorite 2

Hardware Overview

The Wireless Motor Driver Shield has a number of connectors, switches, and ports for you to use. Let's take a look at each one.

XBee Port

At the top of the board, you will find two rows of headers meant to accept an XBee module. The XBee UART is connected to digital pins 0 and 1 or analog pins A0 and A1, depending on the position of the XBee selector switch.

XBee port

XBee Pins Select Switch

The selector switch underneath the XBee port allows you to choose which pins to use to communicate to the XBee module. The table below shows which pins on the Arduino the XBee RXI and TXO pins are connected to, depending on the switch's position. If you use SW_SER (pins A0 and A1), you'll need to use the Software Serial library.

Note for Using Hardware Serial Pins (HW_SER) and Uploading to Arduino: For the Arduino Uno and similar derivative boards, pins 0 and 1 are used to upload programs to the Arduino through serial. There is a possibility of bricking the XBee or issues uploading code to your Arduino with the XBee attached. You will also have issues uploading even if the XBee is removed and the switch left in the HW_SER position.

So, if you plan to use HW_SER to communicate to the XBee, you'll need to switch it to SW_SER when uploading new code. When code has finished uploading to the Arduino, the switch will need to be flipped back to the HW_SER side to communicate to the XBee.
Position XBee RXI XBee TXO
HW_SER 0 1
SW_SER A0 A1

XBee selector switch

I2C Port

Under the XBee footprint, you'll also find a 4-pin female header that breaks out the Arduino's I2C lines. You can use this to attach various sensors to your project.

I2C port

Analog Input Pins

On the left side of the shield, you'll find pins A0 through A5 broken out to headers with power and ground pins for each analog pin. Be aware that if you select SW_SER on the XBee switch, pins A0 and A1 will be used to connect to the XBee's RXI and TXO, respectively.

Note: The pins labeled "PWR" in this analog section are connected to the Arduino's IOREF pin, so if your Arduino uses 5V logic, these pins will be 5V. Similarly, if your Arduino runs on 3.3V logic, they will be 3.3V.

Analog pins

Digital Pins

On the right side, you'll see digital pins 0 through 13 broken out to headers with a power and ground pin for each pin. These are configured this way to allow you to easily connect servos. Note that the power pins can be connected to IOREF, VIN, or the Shield's power jack, depending on the position of the 2 power switches.

Digital pins

Motor Driver and Output

At the bottom of the Shield, you'll find a TB6612FNG motor driver and a 4-pin header for connecting any number of DC motors. The unpopulated holes are spaced 0.100 inch apart and available for soldering wires from your motor(s).

Watch out! Although the TB6612FNG is rated for 1.2A per channel, we found through testing that the practical limit is about 0.8A on both channels before the driver goes into thermal shutdown. You may be able to remedy this with heatsinks and/or active cooling, but we recommend a continued load below 0.8A for most users.

Motor driver

Power Jack

Often, driving motors from the Arduino's power supply (even VIN) will cause the voltage to dip and possibly reset your Arduino. To help with this issue, the power jack on the top-right of the Shield will accept a 5.5 x 2.1mm power plug from a variety of wall adapters and battery packs.

Note that you will need to set the Motor Power switch to VS to power the motors from the power jack. If you also set the Power Rail switch to VMOTOR, then the power jack will be connected to the PWR rail on the digital pins (e.g. to power servos).

Additionally, this power jack will not power the Arduino. It is intended to provide a power supply to your motors separate from your Arduino.

Caution! Power supplies attached to the power jack can be up to 15V. Note that the voltage supplied will be used to directly power motors and servos, so make sure you don't damage your motors with this raw voltage! Additionally, the circuitry can only support up to 3.0A of current (total) delivered to the motors and digital power rail.

Power jack

In addition to the power jack, the VS pins are broken out next to the barrel jack connector as "+" and "-".

External Power Pins (VS)

Power Switches

In the middle of the board are 2 switches that can be used to set how power is distributed to the digital PWR rail and motor driver. The Motor Power switch allows you to select between VS (power jack) and VIN (from Arduino) to supply power to the motors (labeled VMOTOR). The Power Rail switch allows you to select between IOREF (from Arduino) and VMOTOR (output of the Motor Power switch) to power the PWR pins on the digital headers.

Motor Power Switch Position Power Rail Switch Position Motor Driver is connected to... Digital PWR pins are connected to...
VS (power jack) VMOTOR VS (power jack) VS (power jack)
VS (power jack) IOREF VS (power jack) IOREF
VIN VMOTOR VIN VIN
VIN IOREF VIN IOREF

Power switches