Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use tb6612fng: Examples, Pinouts, and Specs

Image of tb6612fng
Cirkit Designer LogoDesign with tb6612fng in Cirkit Designer

Introduction

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.

Explore Projects Built with tb6612fng

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Based Wi-Fi Controlled Robotic Car with OLED Display and Laser Shooting
Image of 123: A project utilizing tb6612fng in a practical application
This circuit is a remote-controlled shooting game system using an ESP32 microcontroller, which interfaces with a PS3 controller to control two DC motors via a TB6612FNG motor driver, and a laser for shooting. The system includes an OLED display for game status, a photocell for detecting laser hits, and a piezo buzzer for sound feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Emergency Alert System with NUCLEO-F072RB, SIM800L, and GPS NEO 6M
Image of women safety: A project utilizing tb6612fng in a practical application
This circuit is an emergency alert system that uses a NUCLEO-F072RB microcontroller to send SMS alerts and make calls via a SIM800L GSM module, while obtaining location data from a GPS NEO 6M module. The system is powered by a Li-ion battery and includes a TP4056 module for battery charging and protection, with a rocker switch to control power to the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Controlled Robot with Ultrasonic Sensor and Dual Motor Drivers
Image of SENTINELS CIRCUIT : A project utilizing tb6612fng in a practical application
This circuit features an Arduino Nano microcontroller interfaced with a TB6612FNG motor driver to control two DC Mini Metal Gear Motors. It also includes an HC-SR04 Ultrasonic Sensor for distance measurement, a 5 channel IR sensor for line tracking, and a Servomotor SG90 for positioning tasks. The system is powered by a 12V battery, with the Arduino Nano managing sensor inputs and motor outputs to perform tasks such as navigation or automation.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Pro Mini-Based Bluetooth and Camera-Controlled Motor System
Image of HAND GESTURE CAR: A project utilizing tb6612fng in a practical application
This circuit is a remote-controlled robotic system featuring an Arduino Pro Mini, a TB6612FNG motor driver, and an NRF24L01 wireless module. The Arduino controls four DC motors via the motor driver and communicates wirelessly using the NRF24L01 module, while an OV7670 camera module and an HC-05 Bluetooth module provide additional functionality.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with tb6612fng

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of 123: A project utilizing tb6612fng in a practical application
ESP32-Based Wi-Fi Controlled Robotic Car with OLED Display and Laser Shooting
This circuit is a remote-controlled shooting game system using an ESP32 microcontroller, which interfaces with a PS3 controller to control two DC motors via a TB6612FNG motor driver, and a laser for shooting. The system includes an OLED display for game status, a photocell for detecting laser hits, and a piezo buzzer for sound feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of women safety: A project utilizing tb6612fng in a practical application
Battery-Powered Emergency Alert System with NUCLEO-F072RB, SIM800L, and GPS NEO 6M
This circuit is an emergency alert system that uses a NUCLEO-F072RB microcontroller to send SMS alerts and make calls via a SIM800L GSM module, while obtaining location data from a GPS NEO 6M module. The system is powered by a Li-ion battery and includes a TP4056 module for battery charging and protection, with a rocker switch to control power to the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of SENTINELS CIRCUIT : A project utilizing tb6612fng in a practical application
Arduino Nano Controlled Robot with Ultrasonic Sensor and Dual Motor Drivers
This circuit features an Arduino Nano microcontroller interfaced with a TB6612FNG motor driver to control two DC Mini Metal Gear Motors. It also includes an HC-SR04 Ultrasonic Sensor for distance measurement, a 5 channel IR sensor for line tracking, and a Servomotor SG90 for positioning tasks. The system is powered by a 12V battery, with the Arduino Nano managing sensor inputs and motor outputs to perform tasks such as navigation or automation.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of HAND GESTURE CAR: A project utilizing tb6612fng in a practical application
Arduino Pro Mini-Based Bluetooth and Camera-Controlled Motor System
This circuit is a remote-controlled robotic system featuring an Arduino Pro Mini, a TB6612FNG motor driver, and an NRF24L01 wireless module. The Arduino controls four DC motors via the motor driver and communicates wirelessly using the NRF24L01 module, while an OV7670 camera module and an HC-05 Bluetooth module provide additional functionality.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Robotics (e.g., controlling wheels or arms)
  • Automated conveyor systems
  • Remote-controlled vehicles
  • Stepper motor control for 3D printers or CNC machines
  • DIY electronics and Arduino-based projects

Technical Specifications

Key Technical Details

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

Pin Configuration and Descriptions

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

Usage Instructions

How to Use the TB6612FNG in a Circuit

  1. Power Connections:

    • Connect the VM pin to the motor power supply (4.5V to 13.5V).
    • Connect the VCC pin to the logic power supply (2.7V to 5.5V).
    • Connect the GND pin to the ground of the circuit.
  2. Motor Connections:

    • Connect the motor terminals to the A01 and A02 pins for Motor A, and B01 and B02 pins for Motor B.
  3. Control Signals:

    • Use the AIN1 and AIN2 pins to control the direction of Motor A, and BIN1 and BIN2 for Motor B.
    • Use the PWMA and PWMB pins to control the speed of Motor A and Motor B, respectively, by providing a PWM signal.
    • Set the STBY pin HIGH to enable the IC.
  4. PWM Frequency:

    • The recommended PWM frequency is up to 100 kHz for optimal performance.

Example: Connecting to an Arduino UNO

Below is an example of how to control two DC motors using the TB6612FNG and an Arduino UNO.

Circuit Connections

  • Connect VM to a 9V power supply and VCC to the Arduino's 5V pin.
  • Connect GND to the Arduino's GND.
  • Connect AIN1, AIN2, PWMA, BIN1, BIN2, and PWMB to Arduino digital pins.
  • Connect the motors to A01, A02, B01, and B02.

Arduino Code

// 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
}

Important Considerations

  • Ensure that the motor power supply (VM) matches the voltage requirements of your motors.
  • Use decoupling capacitors (e.g., 0.1 µF and 100 µF) near the VM and VCC pins to reduce noise.
  • Avoid exceeding the maximum current ratings to prevent damage to the IC.
  • Always set the STBY pin HIGH to enable the IC before sending control signals.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motors Not Running:

    • Ensure the STBY pin is set HIGH.
    • Verify that the power supply is connected and providing the correct voltage.
    • Check the PWM signal and ensure it is within the recommended frequency range.
  2. Overheating:

    • Ensure the current drawn by the motors does not exceed the IC's maximum ratings.
    • Use a heat sink or improve ventilation if necessary.
  3. Erratic Motor Behavior:

    • Check for loose connections or poor soldering.
    • Add decoupling capacitors to reduce electrical noise.
  4. No Output on Motor Pins:

    • Verify the logic levels on the control pins (AIN1, AIN2, BIN1, BIN2).
    • Ensure the IC is not in thermal shutdown or overcurrent protection mode.

FAQs

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.