

The TB6612FNG is a dual H-bridge motor driver IC manufactured by Arduino, designed to control two DC motors or one stepper motor. It supports PWM (Pulse Width Modulation) for precise speed control and direction management. With a compact design and robust performance, the TB6612FNG is widely used in robotics, automation, and other motor control applications.








The TB6612FNG is a versatile motor driver IC with the following key specifications:
| Parameter | Value |
|---|---|
| Supply Voltage (Vcc) | 2.5V to 13.5V |
| Motor Output Current | 1.2A (continuous per channel) |
| Peak Output Current | 3.2A (short duration per channel) |
| Logic Input Voltage | 2.7V to 5.5V |
| Control Method | PWM (Pulse Width Modulation) |
| Operating Temperature | -20°C to +85°C |
| Standby Current | 1 µA (typical) |
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 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 (2.5V to 13.5V) |
| 7 | GND | Ground |
| 8 | STBY | Standby control (active high to enable the IC) |
| 9 | B02 | Output 2 for Motor B |
| 10 | B01 | Output 1 for Motor B |
| 11 | PWMB | PWM input for Motor B speed control |
| 12 | BIN2 | Input signal for Motor B direction control |
| 13 | BIN1 | Input signal for Motor B direction control |
| 14 | VCC | Logic power supply (2.7V to 5.5V) |
| 15 | NC | No connection |
| 16 | NC | No connection |
Power Connections:
VM pin to the motor power supply (2.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 for Motor A, and B01 and B02 for Motor B.Control Signals:
AIN1 and AIN2 pins to control the direction of Motor A.BIN1 and BIN2 pins to control the direction of Motor B.PWMA and PWMB to control the speed of Motor A and Motor B, respectively.Standby Mode:
STBY pin high to enable the IC. Pull it low to put the IC in standby mode.VM and VCC pins to stabilize the power supply.Below is an example code to control two DC motors using the TB6612FNG and an Arduino UNO:
// Define motor control pins
#define AIN1 7 // Motor A direction control pin 1
#define AIN2 8 // Motor A direction control pin 2
#define PWMA 9 // Motor A speed control (PWM) pin
#define BIN1 10 // Motor B direction control pin 1
#define BIN2 11 // Motor B direction control pin 2
#define PWMB 3 // Motor B speed control (PWM) pin
#define STBY 6 // Standby control 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
}
Motors Not Running:
STBY pin is set high to enable the IC.VM and VCC.Motor Running in the Wrong Direction:
AIN1, AIN2, BIN1, BIN2).Overheating:
PWM Not Controlling Speed:
PWMA and PWMB pins.Q: Can the TB6612FNG drive stepper motors?
A: Yes, the TB6612FNG can drive a stepper motor by controlling the two H-bridges in a coordinated manner.
Q: What happens if the motor current exceeds 1.2A?
A: The IC may overheat or enter thermal shutdown to protect itself. Ensure the motor current stays within the rated limits.
Q: Can I use the TB6612FNG with a 3.3V microcontroller?
A: Yes, the logic input voltage range (2.7V to 5.5V) supports 3.3V microcontrollers.