

The TB6612FNG is a dual H-bridge motor driver IC manufactured by Toshiba. It is designed to control two DC motors or one stepper motor with high efficiency and precision. The IC supports features such as PWM (Pulse Width Modulation) control, direction control, and built-in thermal shutdown for protection. Its compact design and versatile functionality make it a popular choice for robotics, automation, and other motor control applications.








The following table outlines the key technical details of the TB6612FNG:
| 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 direction control |
| Standby Current | 1 µA (typical) |
| Thermal Shutdown | Yes |
| Operating Temperature Range | -20°C to +85°C |
| Package Type | HTSSOP-20 |
The TB6612FNG has 20 pins, each serving a specific function. The table below provides a detailed description of each pin:
| 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 |
| 4 | AO1 | Output 1 for Motor A |
| 5 | AO2 | Output 2 for Motor A |
| 6 | VM | Motor power supply (4.5V to 13.5V) |
| 7 | GND | Ground |
| 8 | STBY | Standby control (active high to enable the IC) |
| 9 | VCC | Logic power supply (2.7V to 5.5V) |
| 10 | AO2 | Output 2 for Motor A (duplicate for layout symmetry) |
| 11 | BO2 | Output 2 for Motor B |
| 12 | BO1 | Output 1 for Motor B |
| 13 | PWMB | PWM input for Motor B |
| 14 | BIN2 | Input signal for Motor B (controls direction) |
| 15 | BIN1 | Input signal for Motor B (controls direction) |
| 16 | NC | No connection |
| 17 | NC | No connection |
| 18 | NC | No connection |
| 19 | NC | No connection |
| 20 | GND | Ground (duplicate for layout symmetry) |
Below is an example of how to control two DC motors using the TB6612FNG and an Arduino UNO:
// Define motor control pins
const int AIN1 = 7; // Motor A direction control pin 1
const int AIN2 = 8; // Motor A direction control pin 2
const int PWMA = 9; // Motor A PWM control pin
const int BIN1 = 10; // Motor B direction control pin 1
const int BIN2 = 11; // Motor B direction control pin 2
const int PWMB = 6; // Motor B PWM control pin
const int STBY = 5; // Standby pin
void setup() {
// Set 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
}
Motors Not Running:
Overheating:
Erratic Motor Behavior:
No Response from the IC:
Q: Can the TB6612FNG drive stepper motors?
A: Yes, the TB6612FNG can drive a single stepper motor by controlling the two H-bridges independently.
Q: What is the recommended PWM frequency?
A: The recommended PWM frequency is between 20 kHz and 100 kHz for optimal performance.
Q: Is the IC protected against short circuits?
A: The TB6612FNG includes built-in thermal shutdown and overcurrent protection, but it is still important to avoid short circuits.
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.