

The TB6612FNG is a dual H-bridge motor driver IC designed to control two DC motors or one stepper motor. It supports features such as PWM (Pulse Width Modulation) control, direction control, and current sensing, making it a versatile choice for motor control applications. This compact and efficient IC is widely used in robotics, automation systems, and other projects requiring precise motor control.








The TB6612FNG motor driver offers robust performance with the following key specifications:
| Parameter | Value |
|---|---|
| Operating Voltage (Vcc) | 2.7V to 5.5V |
| Motor Voltage (VM) | 4.5V to 13.5V |
| Output Current (per channel) | 1.2A (continuous), 3.2A (peak) |
| Control Interface | PWM and digital logic inputs |
| Standby Current | 1 µA (typical) |
| Operating Temperature | -20°C to +85°C |
| Package Type | HTSSOP-20 |
The TB6612FNG has 20 pins, each serving a specific function. Below is the pinout and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | AIN1 | Input signal for Motor A direction control |
| 2 | AIN2 | Input signal for Motor A direction control |
| 3 | PWMA | PWM input for Motor A speed control |
| 4 | A01 | Output 1 for Motor A |
| 5 | A02 | Output 2 for Motor A |
| 6 | VM | Motor power supply (4.5V to 13.5V) |
| 7 | GND | Ground |
| 8 | VCC | Logic power supply (2.7V to 5.5V) |
| 9 | STBY | Standby control (active HIGH to enable the IC) |
| 10 | BIN1 | Input signal for Motor B direction control |
| 11 | BIN2 | Input signal for Motor B direction control |
| 12 | PWMB | PWM input for Motor B speed control |
| 13 | B01 | Output 1 for Motor B |
| 14 | B02 | Output 2 for Motor B |
| 15 | NC | No connection |
| 16 | NC | No connection |
| 17 | NC | No connection |
| 18 | NC | No connection |
| 19 | NC | No connection |
| 20 | NC | No connection |
Power Connections:
VM pin to the motor power supply (4.5V to 13.5V).VCC pin to the logic power supply (2.7V to 5.5V).GND pin to the ground of the circuit.Motor Connections:
A01 and A02 pins for Motor A, and B01 and B02 pins for Motor B.Control Signals:
AIN1 and AIN2 pins to control the direction of Motor A, and BIN1 and BIN2 for Motor B.PWMA and PWMB pins to control the speed of Motor A and Motor B, respectively.STBY pin HIGH to enable the IC.Direction Control:
AIN1 HIGH and AIN2 LOW to rotate Motor A in one direction.AIN1 LOW and AIN2 HIGH to rotate Motor A in the opposite direction.BIN1 and BIN2 for Motor B.PWM Speed Control:
PWMA and PWMB pins to control the speed of the motors.Below is an example Arduino sketch to control two DC motors using the TB6612FNG:
// Define motor control pins
const int AIN1 = 7; // Motor A direction control pin 1
const int AIN2 = 6; // Motor A direction control pin 2
const int PWMA = 5; // Motor A speed control (PWM) pin
const int BIN1 = 4; // Motor B direction control pin 1
const int BIN2 = 3; // Motor B direction control pin 2
const int PWMB = 2; // Motor B speed control (PWM) pin
const int STBY = 8; // Standby pin
void setup() {
// Set motor control pins as outputs
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(PWMA, OUTPUT);
pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT);
pinMode(PWMB, OUTPUT);
pinMode(STBY, OUTPUT);
// Enable the motor driver by setting STBY HIGH
digitalWrite(STBY, HIGH);
}
void loop() {
// Example: Rotate Motor A forward at 50% speed
digitalWrite(AIN1, HIGH); // Set direction
digitalWrite(AIN2, LOW);
analogWrite(PWMA, 128); // Set speed (128 = 50% duty cycle)
// Example: Rotate Motor B backward at 75% speed
digitalWrite(BIN1, LOW); // Set direction
digitalWrite(BIN2, HIGH);
analogWrite(PWMB, 192); // Set speed (192 = 75% duty cycle)
delay(2000); // Run motors for 2 seconds
// Stop both motors
analogWrite(PWMA, 0);
analogWrite(PWMB, 0);
delay(2000); // Wait for 2 seconds
}
VM) matches the requirements of your motors.VM and VCC pins to reduce noise and improve stability.STBY pin HIGH to enable the IC before sending control signals.Motors Not Spinning:
STBY pin is set HIGH to enable the IC.VM) and logic power supply (VCC) are connected and within the specified voltage range.Motor Spins in the Wrong Direction:
AIN1, AIN2, BIN1, and BIN2 pins.Motor Speed is Inconsistent:
IC Overheating:
Q: Can the TB6612FNG drive stepper motors?
A: Yes, the TB6612FNG can drive a bipolar stepper motor by controlling the two H-bridges. You will need to sequence the control signals appropriately.
Q: What is the purpose of the STBY pin?
A: The STBY pin is used to enable or disable the IC. Setting it LOW puts the IC in standby mode, reducing power consumption.
Q: Can I use the TB6612FNG with a 3.3V microcontroller?
A: Yes, the TB6612FNG supports logic levels as low as 2.7V, making it compatible with 3.3V microcontrollers.
Q: What is the maximum PWM frequency supported?
A: The TB6612FNG can handle PWM frequencies up to 100kHz, but typical applications use frequencies around 20kHz.