

The Motor Driver 1A Dual TB6612FNG (Manufacturer Part ID: DEV-09457) by SparkFun Electronics is a compact and efficient motor driver designed to control two DC motors simultaneously. It supports a maximum output current of 1A per channel and features PWM (Pulse Width Modulation) control for precise speed regulation and direction control. This makes it an ideal choice for robotics, automation, and other motor control applications.








Below are the key technical details of the TB6612FNG motor driver:
| Parameter | Value |
|---|---|
| Operating Voltage (Vcc) | 2.7V to 5.5V |
| Motor Voltage (VM) | 4.5V to 13.5V |
| Maximum Output Current | 1A per channel (continuous) |
| Peak Output Current | 3A per channel (short duration) |
| Control Interface | PWM and direction control |
| Standby Current | 1µA (typical) |
| Operating Temperature | -20°C to +85°C |
| Dimensions | 21mm x 18mm x 3mm |
The TB6612FNG motor driver has 16 pins. Below is the pinout and description:
| Pin Name | Pin Number | Description |
|---|---|---|
| VCC | 1 | Logic power supply (2.7V to 5.5V). |
| VM | 2 | Motor power supply (4.5V to 13.5V). |
| GND | 3, 8, 13 | Ground connection. |
| AIN1 | 4 | Input 1 for Motor A. Sets direction of Motor A. |
| AIN2 | 5 | Input 2 for Motor A. Sets direction of Motor A. |
| PWMA | 6 | PWM input for Motor A. Controls speed of Motor A. |
| STBY | 7 | Standby pin. Set HIGH to enable the driver, LOW to disable. |
| BIN1 | 9 | Input 1 for Motor B. Sets direction of Motor B. |
| BIN2 | 10 | Input 2 for Motor B. Sets direction of Motor B. |
| PWMB | 11 | PWM input for Motor B. Controls speed of Motor B. |
| AO1 | 12 | Output 1 for Motor A. Connect to one terminal of Motor A. |
| AO2 | 14 | Output 2 for Motor A. Connect to the other terminal of Motor A. |
| BO1 | 15 | Output 1 for Motor B. Connect to one terminal of Motor B. |
| BO2 | 16 | Output 2 for Motor B. Connect to the other terminal of Motor B. |
Power Connections:
VCC pin.VM pin.GND pins to the ground of your circuit.Motor Connections:
AO1 and AO2.BO1 and BO2.Control Connections:
AIN1 and AIN2 to set the direction of Motor A.BIN1 and BIN2 to set the direction of Motor B.PWMA and PWMB to control the speed of Motor A and Motor B, respectively, using PWM signals.STBY pin HIGH to enable the motor driver.PWM Control:
PWMA and PWMB pins to control motor speed.VM) matches the voltage rating of your motors.VCC and VM pins to stabilize the power supply.STBY pin LOW when the motor driver is not in use to minimize power consumption.Below is an example Arduino sketch to control two DC motors using the TB6612FNG motor driver:
// Pin definitions for Motor A
const int AIN1 = 7; // Direction pin 1 for Motor A
const int AIN2 = 8; // Direction pin 2 for Motor A
const int PWMA = 9; // PWM pin for Motor A
// Pin definitions for Motor B
const int BIN1 = 4; // Direction pin 1 for Motor B
const int BIN2 = 5; // Direction pin 2 for Motor B
const int PWMB = 6; // PWM pin for Motor B
// Standby pin
const int STBY = 10;
void setup() {
// Set pin modes
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() {
// Example: Run Motor A forward at 50% speed
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
analogWrite(PWMA, 128); // 50% duty cycle (128 out of 255)
// Example: Run Motor B backward at 75% speed
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, HIGH);
analogWrite(PWMB, 192); // 75% duty cycle (192 out of 255)
delay(2000); // Run for 2 seconds
// Stop both motors
analogWrite(PWMA, 0);
analogWrite(PWMB, 0);
delay(2000); // Pause for 2 seconds
}
Motors Not Running:
STBY pin is set HIGH to enable the motor driver.VCC and VM) are within the specified range.Motor Running in the Wrong Direction:
AIN1/AIN2 or BIN1/BIN2).Overheating:
PWM Signal Not Working:
Q: Can I use this driver for stepper motors?
A: Yes, the TB6612FNG can be used to drive stepper motors by controlling the two channels in a coordinated manner.
Q: What happens if I exceed the maximum current rating?
A: Exceeding the current rating may cause the driver to overheat or enter thermal shutdown. Prolonged overcurrent conditions can damage the driver.
Q: Is it possible to control the driver without a microcontroller?
A: Yes, you can use external switches or logic circuits to control the direction and speed of the motors, but a microcontroller provides more precise control.