

The TB6612FNG is a dual H-bridge motor driver integrated circuit (IC) designed for controlling two DC motors or one stepper motor. It is widely used in robotics, automation, and other motor control applications due to its compact size, high efficiency, and ease of use. The IC supports motor voltage ranges from 2.5V to 13.5V and features PWM (Pulse Width Modulation) control for precise speed regulation. Additionally, it includes built-in thermal shutdown and overcurrent protection, making it a reliable choice for motor control projects.








The TB6612FNG has 24 pins, but only a subset is typically used for motor control. Below is the pin configuration:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | AIN1 | Input signal for Motor A (controls direction) |
| 2 | AIN2 | Input signal for Motor A (controls direction) |
| 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 (2.5V to 13.5V) |
| 7 | GND | Ground connection |
| 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) |
| 11 | BIN2 | Input signal for Motor B (controls direction) |
| 12 | PWMB | PWM input for Motor B (controls speed) |
| 13 | B01 | Output 1 for Motor B |
| 14 | B02 | Output 2 for Motor B |
| 15-24 | NC | Not connected (reserved for internal use or unused pins) |
Power Connections:
Motor Connections:
Control Signals:
PWM Control:
Direction Control:
Below is an example of how to control a single DC motor using the TB6612FNG and an Arduino UNO:
// Define control pins for Motor A
const int AIN1 = 7; // Direction control pin 1
const int AIN2 = 8; // Direction control pin 2
const int PWMA = 9; // PWM speed control pin
const int STBY = 10; // Standby pin
void setup() {
// Set pin modes
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(PWMA, OUTPUT);
pinMode(STBY, OUTPUT);
// Enable the motor driver
digitalWrite(STBY, HIGH);
}
void loop() {
// Rotate motor forward
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
analogWrite(PWMA, 128); // Set speed (0-255)
delay(2000); // Run for 2 seconds
// Rotate motor backward
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
analogWrite(PWMA, 128); // Set speed (0-255)
delay(2000); // Run for 2 seconds
// Stop the motor
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, LOW);
analogWrite(PWMA, 0); // Set speed to 0
delay(2000); // Wait for 2 seconds
}
Motor Not Spinning:
Motor Spins in the Wrong Direction:
Overheating:
No Response from the IC:
Can the TB6612FNG drive stepper motors? Yes, it can drive a single stepper motor by controlling both H-bridges simultaneously.
What is the maximum PWM frequency supported? The IC supports PWM frequencies up to 100 kHz.
Is it possible to use only one H-bridge? Yes, you can use one H-bridge to control a single motor while leaving the other unused.
Does the IC require external diodes for protection? No, the TB6612FNG has built-in flyback diodes for motor protection.