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

How to Use h-bridge motor driver: Examples, Pinouts, and Specs

Image of h-bridge motor driver
Cirkit Designer LogoDesign with h-bridge motor driver in Cirkit Designer

Introduction

The H-Bridge Motor Driver (Manufacturer: Maker Drive, Part ID: MOTOR DRIVER) is an electronic circuit designed to control the direction and speed of DC motors. By enabling voltage to be applied across a motor in either direction, it allows for forward, reverse, and braking operations. This makes it an essential component in robotics, automation, and other motor control applications.

Explore Projects Built with h-bridge motor driver

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-Controlled Dual DC Motor Driver with H-Bridge
Image of ckt1: A project utilizing h-bridge motor driver in a practical application
This circuit features an ESP32 microcontroller connected to an H-bridge motor driver (ponte h) to control two DC motors. The ESP32 uses its GPIO pins (D25, D32, D33, D35) to send control signals to the H-bridge, which in turn drives the motors by switching their direction and speed. Power is supplied to the system through a DC power source connected to both the ESP32 and the H-bridge, with common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino-Controlled Line Following Robot with H-Bridge Motor Driver and IR Sensors
Image of seguidor de linea: A project utilizing h-bridge motor driver in a practical application
This circuit is designed to control two DC motors using an H-bridge (ponte h) connected to an Arduino UNO microcontroller. The Arduino receives input from two TCRT 5000 IR sensors to determine the path and controls the motors to move forward, backward, or turn left/right based on the sensor readings. The motors are powered by a 2x 18650 battery pack, and the entire system is intended for applications such as line following robots or automated guided vehicles.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Controlled Multi-Axis Actuator System with Orientation Sensing and Light Detection
Image of Auto_Level_Table: A project utilizing h-bridge motor driver in a practical application
This circuit features an ESP32 S3 N32R8V microcontroller interfaced with multiple IBT-2 H-Bridge Motor Drivers to control several Linear Actuators, and it receives input from KY-018 LDR Photo Resistors and Pushbuttons. The ESP32 is powered by a 5V supply from an Adafruit MPM3610 5V Buck Converter, while the Linear Actuators and Motor Drivers are powered by a 12V 7Ah battery. Additionally, the ESP32 communicates with an Adafruit BNO085 9-DOF Orientation IMU Fusion Breakout for orientation sensing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Controlled Battery-Powered Motor and Servo System with Pushbutton Interface
Image of GrĂșa: A project utilizing h-bridge motor driver in a practical application
This circuit is designed to control a DC motor and a servo motor using an Arduino UNO, with inputs from four pushbuttons and a rocker switch. The H-bridge motor driver is used to control the DC motor, while the servo motor is directly controlled by the Arduino. The circuit is powered by a 2x 18650 battery pack.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with h-bridge motor driver

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 ckt1: A project utilizing h-bridge motor driver in a practical application
ESP32-Controlled Dual DC Motor Driver with H-Bridge
This circuit features an ESP32 microcontroller connected to an H-bridge motor driver (ponte h) to control two DC motors. The ESP32 uses its GPIO pins (D25, D32, D33, D35) to send control signals to the H-bridge, which in turn drives the motors by switching their direction and speed. Power is supplied to the system through a DC power source connected to both the ESP32 and the H-bridge, with common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of seguidor de linea: A project utilizing h-bridge motor driver in a practical application
Arduino-Controlled Line Following Robot with H-Bridge Motor Driver and IR Sensors
This circuit is designed to control two DC motors using an H-bridge (ponte h) connected to an Arduino UNO microcontroller. The Arduino receives input from two TCRT 5000 IR sensors to determine the path and controls the motors to move forward, backward, or turn left/right based on the sensor readings. The motors are powered by a 2x 18650 battery pack, and the entire system is intended for applications such as line following robots or automated guided vehicles.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Auto_Level_Table: A project utilizing h-bridge motor driver in a practical application
ESP32-Controlled Multi-Axis Actuator System with Orientation Sensing and Light Detection
This circuit features an ESP32 S3 N32R8V microcontroller interfaced with multiple IBT-2 H-Bridge Motor Drivers to control several Linear Actuators, and it receives input from KY-018 LDR Photo Resistors and Pushbuttons. The ESP32 is powered by a 5V supply from an Adafruit MPM3610 5V Buck Converter, while the Linear Actuators and Motor Drivers are powered by a 12V 7Ah battery. Additionally, the ESP32 communicates with an Adafruit BNO085 9-DOF Orientation IMU Fusion Breakout for orientation sensing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of GrĂșa: A project utilizing h-bridge motor driver in a practical application
Arduino UNO Controlled Battery-Powered Motor and Servo System with Pushbutton Interface
This circuit is designed to control a DC motor and a servo motor using an Arduino UNO, with inputs from four pushbuttons and a rocker switch. The H-bridge motor driver is used to control the DC motor, while the servo motor is directly controlled by the Arduino. The circuit is powered by a 2x 18650 battery pack.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Robotics: Controlling the movement of robot wheels or arms.
  • Automation: Driving conveyor belts or actuators.
  • Remote-controlled vehicles: Enabling forward and reverse motion.
  • DIY projects: Motorized systems such as fans, doors, or small vehicles.

Technical Specifications

The following table outlines the key technical details of the Maker Drive H-Bridge Motor Driver:

Parameter Value
Operating Voltage 5V to 12V
Maximum Output Current 1.5A per channel (continuous)
Peak Current 2A per channel (short duration)
Logic Voltage 3.3V or 5V (compatible with MCUs)
Number of Channels 2 (dual motor control)
Control Inputs IN1, IN2, ENA (per channel)
Output Terminals OUT1, OUT2 (per channel)
Protection Features Overcurrent and thermal shutdown

Pin Configuration and Descriptions

The H-Bridge Motor Driver has the following pin configuration:

Input Pins

Pin Name Description
IN1 Input signal to control motor direction (Channel 1).
IN2 Input signal to control motor direction (Channel 1).
ENA Enable pin for Channel 1 (PWM for speed control).
IN3 Input signal to control motor direction (Channel 2).
IN4 Input signal to control motor direction (Channel 2).
ENB Enable pin for Channel 2 (PWM for speed control).

Output Pins

Pin Name Description
OUT1 Motor output terminal 1 (Channel 1).
OUT2 Motor output terminal 2 (Channel 1).
OUT3 Motor output terminal 1 (Channel 2).
OUT4 Motor output terminal 2 (Channel 2).

Power Pins

Pin Name Description
VCC Power supply input (5V to 12V).
GND Ground connection.

Usage Instructions

How to Use the Component in a Circuit

  1. Connect Power Supply:
    • Connect the VCC pin to a power source (5V to 12V) and GND to ground.
  2. Connect the Motor:
    • Attach the motor terminals to the output pins (OUT1 and OUT2 for Channel 1, OUT3 and OUT4 for Channel 2).
  3. Control Inputs:
    • Use IN1 and IN2 to control the direction of the motor for Channel 1. Similarly, use IN3 and IN4 for Channel 2.
    • Apply a PWM signal to ENA (Channel 1) or ENB (Channel 2) to control motor speed.
  4. Microcontroller Interface:
    • Connect the control pins (IN1, IN2, ENA, etc.) to the GPIO pins of a microcontroller (e.g., Arduino UNO).

Important Considerations and Best Practices

  • Ensure the power supply voltage matches the motor's operating voltage.
  • Use appropriate heat sinks or cooling if operating near the maximum current rating.
  • Avoid short circuits between output terminals to prevent damage.
  • Use pull-down resistors on control pins to avoid floating states when the microcontroller is powered off.

Example Code for Arduino UNO

Below is an example code to control a DC motor using the H-Bridge Motor Driver:

// Define control pins for Channel 1
const int IN1 = 9;  // Direction control pin 1
const int IN2 = 8;  // Direction control pin 2
const int ENA = 10; // Speed control (PWM) pin

void setup() {
  // Set control pins as outputs
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(ENA, OUTPUT);
}

void loop() {
  // Rotate motor forward
  digitalWrite(IN1, HIGH); // Set IN1 high
  digitalWrite(IN2, LOW);  // Set IN2 low
  analogWrite(ENA, 128);   // Set speed to 50% (PWM value: 128)
  delay(2000);             // Run for 2 seconds

  // Rotate motor backward
  digitalWrite(IN1, LOW);  // Set IN1 low
  digitalWrite(IN2, HIGH); // Set IN2 high
  analogWrite(ENA, 128);   // Set speed to 50% (PWM value: 128)
  delay(2000);             // Run for 2 seconds

  // Stop motor
  digitalWrite(IN1, LOW);  // Set IN1 low
  digitalWrite(IN2, LOW);  // Set IN2 low
  analogWrite(ENA, 0);     // Set speed to 0
  delay(2000);             // Wait for 2 seconds
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Motor Does Not Turn On:

    • Check the power supply voltage and connections.
    • Ensure the ENA/ENB pins are receiving a valid PWM signal.
    • Verify that the motor is properly connected to the output terminals.
  2. Motor Spins in the Wrong Direction:

    • Swap the IN1 and IN2 signals (or IN3 and IN4 for Channel 2).
    • Verify the logic levels sent to the control pins.
  3. Overheating of the Driver:

    • Ensure the current drawn by the motor does not exceed the driver's maximum rating.
    • Use a heat sink or cooling fan if necessary.
  4. No Response from the Motor Driver:

    • Check for loose connections or damaged wires.
    • Verify that the microcontroller is correctly programmed and powered.

FAQs

Q: Can I use this driver with a 3.3V microcontroller?
A: Yes, the driver is compatible with both 3.3V and 5V logic levels.

Q: Can I control two motors simultaneously?
A: Yes, the driver supports dual-channel operation, allowing independent control of two motors.

Q: What happens if I connect the motor terminals incorrectly?
A: The motor may not function as expected. Ensure proper wiring to avoid damage to the driver or motor.

Q: Can I use this driver for stepper motors?
A: No, this driver is designed for DC motors. Use a dedicated stepper motor driver for stepper motors.