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

How to Use TB661 2FNG Motor Drive: Examples, Pinouts, and Specs

Image of TB661 2FNG Motor Drive
Cirkit Designer LogoDesign with TB661 2FNG Motor Drive in Cirkit Designer

Introduction

The TB6612FNG is a dual H-bridge motor driver IC designed for controlling DC motors and stepper motors. It is capable of driving motors with high efficiency and includes built-in features such as thermal shutdown, overcurrent protection, and low standby current. This makes it an excellent choice for robotics, automation, and other motor control applications.

Explore Projects Built with TB661 2FNG Motor Drive

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Nano Controlled Robot with Ultrasonic Sensor and Dual Motor Drivers
Image of SENTINELS CIRCUIT : A project utilizing TB661 2FNG Motor Drive 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-Controlled Dual Motor Driver with IR Sensing
Image of Line follower 14 IR Sensor channel: A project utilizing TB661 2FNG Motor Drive in a practical application
This circuit controls two DC motors using a TB6612FNG motor driver, which is interfaced with an Arduino Mega 2560 microcontroller. The Arduino provides PWM signals to control the speed and direction of the motors. Multiple IR sensors are connected to the Arduino's analog inputs, likely for sensing the environment or for line-following capabilities in a robot.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Motor Control System with Pushbutton Interface
Image of LFR CKT: A project utilizing TB661 2FNG Motor Drive in a practical application
This circuit uses an Arduino Nano to control a TB6612FNG motor driver, which in turn controls two motors. The circuit also includes two pushbuttons for user input, allowing the Arduino to receive commands and control the motor driver accordingly.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano and TB6612FNG Motor Driver-Based Line Following Robot with IR Sensors
Image of line following: A project utilizing TB661 2FNG Motor Drive in a practical application
This circuit is a motor control system using an Arduino Nano, a TB6612FNG motor driver, and two DC Mini Metal Gear Motors. The Arduino Nano reads inputs from a 5-channel IR sensor and controls the motor driver to operate the motors, powered by a 9V battery.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with TB661 2FNG Motor Drive

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 SENTINELS CIRCUIT : A project utilizing TB661 2FNG Motor Drive 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 Line follower 14 IR Sensor channel: A project utilizing TB661 2FNG Motor Drive in a practical application
Arduino-Controlled Dual Motor Driver with IR Sensing
This circuit controls two DC motors using a TB6612FNG motor driver, which is interfaced with an Arduino Mega 2560 microcontroller. The Arduino provides PWM signals to control the speed and direction of the motors. Multiple IR sensors are connected to the Arduino's analog inputs, likely for sensing the environment or for line-following capabilities in a robot.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of LFR CKT: A project utilizing TB661 2FNG Motor Drive in a practical application
Arduino Nano Motor Control System with Pushbutton Interface
This circuit uses an Arduino Nano to control a TB6612FNG motor driver, which in turn controls two motors. The circuit also includes two pushbuttons for user input, allowing the Arduino to receive commands and control the motor driver accordingly.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of line following: A project utilizing TB661 2FNG Motor Drive in a practical application
Arduino Nano and TB6612FNG Motor Driver-Based Line Following Robot with IR Sensors
This circuit is a motor control system using an Arduino Nano, a TB6612FNG motor driver, and two DC Mini Metal Gear Motors. The Arduino Nano reads inputs from a 5-channel IR sensor and controls the motor driver to operate the motors, powered by a 9V battery.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Robotics: Driving wheels or actuators in robotic systems
  • Automation: Controlling conveyor belts or other motorized mechanisms
  • DIY Projects: Motorized toys, RC vehicles, and hobbyist electronics
  • Stepper Motor Control: Driving stepper motors in CNC machines or 3D printers

Technical Specifications

The TB6612FNG is a versatile motor driver with the following key specifications:

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)
Standby Current 1 µA (typical)
Control Logic PWM (Pulse Width Modulation)
Built-in Protections Thermal shutdown, overcurrent, and undervoltage lockout
Operating Temperature Range -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 (H-bridge control)
2 AIN2 Input signal for Motor A (H-bridge control)
3 PWMA PWM input for Motor A
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 STBY Standby control (active high to enable the IC)
9 VCC Logic power supply (2.7V to 5.5V)
10 BIN1 Input signal for Motor B (H-bridge control)
11 BIN2 Input signal for Motor B (H-bridge control)
12 PWMB PWM input for Motor B
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 A01 and A02 for Motor A, and B01 and B02 for Motor B.
  3. Control Signals:

    • Use the AIN1, AIN2, and PWMA pins to control Motor A.
    • Use the BIN1, BIN2, and PWMB pins to control Motor B.
    • Apply a PWM signal to the PWMA and PWMB pins to control motor speed.
    • Set the STBY pin high to enable the IC.
  4. Logic Table for Motor Control:

    • The following table shows how to control the motor direction and braking:
AIN1/BIN1 AIN2/BIN2 Motor Action
High Low Forward Rotation
Low High Reverse Rotation
High High Brake (short circuit)
Low Low Stop (coast)

Example: Connecting to an Arduino UNO

Below is an example of how to control a DC motor using the TB6612FNG and an Arduino UNO:

Circuit Connections

  • Connect AIN1 to Arduino pin 7.
  • Connect AIN2 to Arduino pin 8.
  • Connect PWMA to Arduino pin 9 (PWM pin).
  • Connect STBY to Arduino pin 10.
  • Connect VM to a 9V motor power supply.
  • Connect VCC to the Arduino 5V pin.
  • Connect GND to the Arduino GND pin.

Arduino Code

// Define control pins for Motor A
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 speed control (PWM) 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 by setting STBY high
  digitalWrite(STBY, HIGH);
}

void loop() {
  // Rotate motor forward
  digitalWrite(AIN1, HIGH);  // Set direction
  digitalWrite(AIN2, LOW);
  analogWrite(PWMA, 128);    // Set speed (0-255)

  delay(2000);               // Run for 2 seconds

  // Rotate motor backward
  digitalWrite(AIN1, LOW);   // Reverse direction
  digitalWrite(AIN2, HIGH);
  analogWrite(PWMA, 128);    // Maintain same speed

  delay(2000);               // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);   // Stop motor
  digitalWrite(AIN2, LOW);
  analogWrite(PWMA, 0);      // Set speed to 0

  delay(2000);               // Wait for 2 seconds
}

Important Considerations and Best Practices

  • Ensure the motor power supply voltage (VM) matches the motor's rated voltage.
  • Use appropriate decoupling capacitors near the VM and VCC pins to reduce noise.
  • Avoid exceeding the maximum current rating to prevent damage to the IC.
  • Use a heatsink or proper ventilation if operating at high currents for extended periods.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Not Spinning:

    • Ensure the STBY pin is set high to enable the IC.
    • Verify that the control signals (AIN1, AIN2, PWMA) are correctly configured.
  2. Motor Spins in the Wrong Direction:

    • Check the wiring of the motor terminals.
    • Reverse the logic levels on AIN1 and AIN2 to change the direction.
  3. Overheating:

    • Ensure the motor current does not exceed the IC's maximum rating.
    • Add a heatsink or improve ventilation around the IC.
  4. No Output Voltage on Motor Pins:

    • Verify that the VM and VCC power supplies are within the specified range.
    • Check for any short circuits or loose connections.

FAQs

Q: Can the TB6612FNG drive stepper motors?
A: Yes, the TB6612FNG can drive stepper motors by controlling the two H-bridges in a coordinated manner. Use a stepper motor library for easier implementation with microcontrollers.

Q: What happens if the IC overheats?
A: The TB6612FNG has a built-in thermal shutdown feature that disables the outputs to protect the IC from damage.

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.