

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.








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 |
The H-Bridge Motor Driver has the following pin configuration:
| 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). |
| 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). |
| Pin Name | Description |
|---|---|
| VCC | Power supply input (5V to 12V). |
| GND | Ground connection. |
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
}
Motor Does Not Turn On:
Motor Spins in the Wrong Direction:
Overheating of the Driver:
No Response from the Motor Driver:
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.