1. Introduction

The TB6612FNG is a all in one motor controller chip from Toshiba. It allows one to control up to two DC motors. Sparkfun is offering a ready-to-use breadboard version of this chip which breaks out all the pins of the TB6612FNG to breadboard friendly 2,54mm pins.

In this article I am going to briefly describe how the TB6612FNG is used (without a micro controller). For a more advanced example see the article on how to use the TB6612FNG together with a STM32 Discovery board.

2. Features

The main features of the TB6612FNG are:

  • Logic power supply can be operated between 2.7 and 5.5 V.
  • Motor power supply can be operated with up to 15V at a average current of 1.2A and a peak of 3.2A.
  • Standby control to save power.
  • Each motor can be controlled through a H-Bridge to move clock-wise, counter-clock-wise, break or float.
  • The speed of each motor is controllable trough PWM signals.

3. Operation

The TB6612FNG needs two power supplies. One for the logic levels connected to the VCC pin, and one to supply the motors on the VM pin. Both power supplies share a common ground on the GND pin. The motors A and B are connected to the AO1/2 and BO1/2 pins of the chip.

To operate the motors, the standby pin (STBY) has to be set to high (if set to low, the driver is in sleep mode). Each motor is controlled trough two input pins (AIN1/2, BIN1/2):

{A|B}IN1 {A|B}IN2 Mode
L L float
H H break

It is possible to use the driver with or without PWM. If the driver is used with PWM, then the PWM of each motor (PWMA, PWMB) has to be connected to a PWM output of your micro controller. The PWM supports a frequency of up to 100kHz.

In the case you don’t need speed control, PWMA and PWMB could be set to constant high. This makes the motors always run at full speed.

Note: All logic input pins use a internal pull-down resistor of 200kOhm. This means they are set to low by default. To drive them high, just supply VCC to them.

4. Minimal Usage Example

The below schematic shows a minimal setup which uses the TB6612FNG to control two DC motors through a set of buttons for each motor. For simplicity, we put standby always to high, as well as the PWMs.

TB6612FNG minimal usage example - schema

By pressing the buttons corresponding to the inputs on the above table, the operation mode of the motors could be controlled.

TB6612FNG minimal usage example - breadboard