Controlling 2 motors with the TB6612FNG + Arduino

Summary of Controlling 2 motors with the TB6612FNG + Arduino


This article explains how to use the TB6612FNG dual motor driver breakout board from SparkFun to control two motors with an Arduino. Unlike simple transistor setups, the TB6612FNG features dual H-bridges allowing bidirectional control and speed adjustment via PWM. It can supply up to 13V and 1.2A per motor. The driver requires several Arduino pins: a standby pin to enable or disable motors, and three control pins per motor for direction and speed. An external power source for motors is necessary, as the Arduino 5V pin cannot handle the current needed for two motors.

Parts used in the TB6612FNG Dual Motor Driver Project:

  • TB6612FNG dual motor driver breakout board (SparkFun)
  • Arduino microcontroller
  • External power source for motors (2.5V to 13V)
  • Two DC motors
  • Connecting wires

First off: I know… we went overboard with the motor illustration.

In previous articles we have discussed how to control motors with simple transistors. And… with PWM you could control the speed. But that is just one motor, and you can only go one direction. Today we are going to talk about the TB6612FNG dual motor driver, specifically the TB6612FNG breakout board from sparkfun.Controlling 2 motors with the TB6612FNG + Arduino

The TB6612FNG isn’t just a dual motor driver, it is a dual H-bridge. An h-bridge is basically a specific setup of transistors that allow you to switch direction of current. So hooked up to a motor, that means you can have it spin in both directions, and with PWM input, you can use your arduino to make them spin at any speed. Because the TB6612FNG has 2 H-bridges, you can not only make a robot go forwards and backwards, but also turn around by having each wheel spin in a different direction.

Quick stats on this guy: It is capable of supplying up to 13V and 1.2A (3.2 peak)

Hooking it up

As you can tell from the illustration this guy requires a few pins from your arduino to get it running. And it probably looks complicated at first. But it’s not that bad. The first thing to notice however, is that you do need an external power source for your motors (the TB6612FNG can work with 2.5 to 13v), the 5v pin on the arduino just can not source enough power to drive 2 motors, and you could damage your arduino if you do.Schematic Controlling 2 motors with the TB6612FNG + Arduino

But why it uses so many pins is for several reasons. First, there is a standby pin, if this pin is held LOW, the motors are basically disconnected from power. And… Each motor also has 3 control pins, 2 for direction, and one for speed.

For more detail: Controlling 2 motors with the TB6612FNG + Arduino 


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top