

The TB6612FNG is a dual H-bridge motor driver IC designed for controlling two DC motors or one stepper motor. It supports PWM (Pulse Width Modulation) control for precise speed regulation and direction control. This compact and efficient IC is widely used in robotics, automation, and other motor control applications. Additionally, it includes built-in protection features such as thermal shutdown and overcurrent protection, making it a reliable choice for motor control projects.








| 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, Direction Control |
| Standby Current | 1 µA (typical) |
| Built-in Protections | Thermal Shutdown, Overcurrent |
| Operating Temperature | -20°C to +85°C |
| Package Type | HSOP-25 |
The TB6612FNG has 16 pins, each serving a specific function. Below is the pinout and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | AIN1 | Input signal for Motor A (controls direction with AIN2) |
| 2 | AIN2 | Input signal for Motor A (controls direction with AIN1) |
| 3 | PWMA | PWM input for Motor A (controls speed) |
| 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 (controls direction with BIN2) |
| 11 | BIN2 | Input signal for Motor B (controls direction with BIN1) |
| 12 | PWMB | PWM input for Motor B (controls speed) |
| 13 | B01 | Output 1 for Motor B |
| 14 | B02 | Output 2 for Motor B |
| 15 | NC | No connection |
| 16 | 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, by providing a PWM signal.STBY pin HIGH to enable the IC.PWM Frequency:
Below is an example of how to control two DC motors using the TB6612FNG and an Arduino UNO.
VM to a 9V power supply and VCC to the Arduino's 5V pin.GND to the Arduino's GND.AIN1, AIN2, PWMA, BIN1, BIN2, and PWMB to Arduino digital pins.A01, A02, B01, and B02.// Define motor control pins
const int AIN1 = 7; // Motor A direction pin 1
const int AIN2 = 6; // Motor A direction pin 2
const int PWMA = 5; // Motor A speed (PWM) pin
const int BIN1 = 4; // Motor B direction pin 1
const int BIN2 = 3; // Motor B direction pin 2
const int PWMB = 2; // Motor B speed (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
digitalWrite(STBY, HIGH);
}
void loop() {
// Motor A: Forward at 50% speed
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
analogWrite(PWMA, 128); // 50% duty cycle (0-255)
// Motor B: Reverse at 75% speed
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, HIGH);
analogWrite(PWMB, 192); // 75% duty cycle (0-255)
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 voltage requirements of your motors.VM and VCC pins to reduce noise.STBY pin HIGH to enable the IC before sending control signals.Motors Not Running:
STBY pin is set HIGH.Overheating:
Erratic Motor Behavior:
No Output on Motor Pins:
AIN1, AIN2, BIN1, BIN2).Q: Can the TB6612FNG drive stepper motors?
A: Yes, the TB6612FNG can drive a single stepper motor by controlling the two H-bridges. You will need to generate the appropriate step and direction signals.
Q: What is the maximum PWM frequency supported?
A: The TB6612FNG supports PWM frequencies up to 100 kHz.
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: Is it necessary to use the STBY pin?
A: Yes, the STBY pin must be set HIGH to enable the IC. If left LOW, the IC will remain in standby mode and the motors will not operate.