An H bridge motor drive controls the direction and speed of a DC motor by switching polarity across four semiconductor switches (usually MOSFETs or BJTs) arranged in an "H" configuration. To select the right driver for your project, you must size the module for at least twice the motor's continuous current to survive stall conditions, and ensure the logic voltage (typically 3.3V or 5V) matches your microcontroller. Choosing the wrong driver results in melted silicon, microcontroller brownouts, or sluggish torque.
This guide breaks down which motor types require an H-bridge, how to calculate your current headroom with a real-world load example, and how to diagnose the most common drive failures on the bench.
Motor Type Comparison and Drive Requirements
Not every motor uses an H-bridge, and treating different motor architectures as interchangeable is a fast track to burnt components. Below is a comparison of common hobbyist and light-industrial motors, their torque profiles, and the specific driver topology they demand.
| Motor Type | Torque Curve Profile | Control Needs | Required Driver Topology | Typical IC / Module & Cost |
|---|---|---|---|---|
| Brushed DC | High starting torque, drops as RPM increases. | Speed (PWM) and Direction (Polarity). | Standard 2-terminal H-bridge. | DRV8871, BTS7960 ($3 - $15) |
| Bipolar Stepper | High holding torque at zero speed, precise step increments. | Sequential coil energization (microstepping). | Dual H-bridge with current chopping. | A4988, DRV8825, TMC2209 ($2 - $8) |
| BLDC (Brushless DC) | High efficiency, flat torque curve across mid-range RPM. | 3-phase commutation, rotor position feedback (Hall/FOC). | 3-Phase Inverter (6 switches), not a standard H-bridge. | ESC, SimpleFOC shields ($15 - $40) |
| RC Servo | High torque at specific angular positions. | 50Hz PWM pulse width for position targeting. | Internal driver; requires only a microcontroller GPIO pin. | N/A (Direct GPIO / PCA9685 for I2C) |
Sizing an H Bridge Motor Drive and Terminal Wiring
The most common mistake makers make is sizing an H-bridge based on the motor's continuous current rating. When a motor starts from a dead stop, or jams against a physical limit, it draws Locked Rotor Amps (LRA), also known as stall current. This can be 5 to 10 times higher than the continuous rating.
The Sizing Rule of Thumb
For reliable operation without active cooling, your H-bridge continuous current rating must meet the following threshold:
- Idriver ≥ 2 × Icontinuous OR Idriver ≥ 1.2 × Istall (whichever yields the higher number).
Worked Load Example: 12V 775 Spindle Motor
Suppose you are building a DIY CNC router using a standard 12V 775 brushed DC spindle motor. The datasheet lists a continuous draw of 3A at 12V, but a stall current of 14A.
- Rule 1 (Continuous): 3A × 2 = 6A
- Rule 2 (Stall): 14A × 1.2 = 16.8A
You must select an H bridge motor drive rated for at least 16.8A continuous. A popular L298N module (rated for 2A continuous per channel) will instantly overheat and trigger its thermal shutdown. Instead, you should select a MOSFET-based driver like the BTS7960 (often sold as the IBT-2 module), which handles up to 43A peak and roughly 20A continuous with its integrated aluminum heatsink, typically costing around $12.
Wiring and Terminal Identification
High-current H-bridge modules like the BTS7960 separate the high-power motor path from the low-voltage logic path. Here is the standard terminal mapping:
- B+ / V_MOT: Main power supply positive (e.g., 12V or 24V). Must be capable of delivering stall current.
- B- / GND: Main power supply ground. Use thick wire (e.g., 12 AWG for a 20A load).
- M+ / M-: Motor terminals. Polarity dictates the "forward" direction.
- VCC / V_LOGIC: Logic power (3.3V or 5V) from your microcontroller to power the optoisolators or gate drivers.
- R_PWM / L_PWM: Right and Left PWM inputs. Apply a PWM signal to one for speed control while holding the other LOW.
- R_EN / L_EN: Enable pins. Must be pulled HIGH (usually to VCC) to activate the MOSFET gates.
Failure Signatures: Hum, Overheat, and Stall
When an H bridge motor drive circuit fails, it rarely does so silently. Recognizing the physical and electrical signatures of a failing drive will save you from replacing microcontrollers and motors.
1. Audible Hum Without Movement
If the motor hums loudly but the shaft doesn't turn, you are likely dealing with one of two issues. First, your PWM frequency is too low. If you are driving the PWM pin at 50Hz or 500Hz, the motor coils are physically vibrating at an audible frequency. Increase your microcontroller's PWM timer to at least 16kHz to 20kHz to push the switching noise above human hearing. Second, the motor may be experiencing a static friction lock; the applied voltage at the current PWM duty cycle is insufficient to generate the breakaway torque required to start the rotor.
2. Overheat and Magic Smoke
If the driver IC becomes too hot to touch or vents smoke, you have exceeded the thermal limits of the silicon's RDS(on) (on-state resistance). In older BJT-based drivers like the L298N, there is a fixed voltage drop of roughly 1.5V to 2V across the transistors. At 2A, that is 4W of pure heat dissipated directly into the IC package. If you see this, switch to a modern MOSFET-based driver like the Texas Instruments DRV8871, which drops only millivolts and runs cool at the same current. Another cause of instant overheating is shoot-through, where both the high-side and low-side MOSFETs on the same leg turn on simultaneously due to overlapping logic signals, creating a dead short across your power supply.
3. Stall and Microcontroller Brownout
When the motor physically stalls, it draws maximum current. This massive current draw causes the voltage on the main power rail to sag. If your microcontroller shares this same power rail without adequate decoupling, the logic voltage will drop below the brownout threshold (e.g., 2.7V for an ATmega328P), causing the board to reset unpredictably.
The Fix: Never power your microcontroller directly from the same unregulated rail as a high-torque motor. Use a separate buck converter or LDO for the logic rail, and solder a 1000µF to 2200µF electrolytic capacitor directly across the B+ and B- terminals of the H-bridge to act as a local energy reservoir during stall events.
H Bridge Motor Drive FAQ
Can I use a standard H bridge motor drive for a BLDC or AC motor?
No. A standard H-bridge only provides two output terminals, which is suitable for brushed DC motors and individual coils of bipolar steppers. A Brushless DC (BLDC) motor requires a 3-phase inverter (six switches) to sequence the three stator windings, typically managed by an ESC or a dedicated FOC (Field Oriented Control) board. AC induction motors require a Variable Frequency Drive (VFD) or Triac-based phase-angle control to manage alternating current frequency and voltage.
Why does my L298N H bridge motor drive get too hot to touch?
The L298N uses older Bipolar Junction Transistor (BJT) Darlington pairs instead of modern MOSFETs. BJTs suffer from a high internal voltage drop (typically 1.8V to 2.5V) when conducting. If your motor draws 2A, the L298N dissipates roughly 4 to 5 Watts of heat internally. For continuous operation above 1A, you must upgrade to a MOSFET-based driver like the DRV8871 or TB6612FNG, which utilize low RDS(on) architecture to minimize heat generation.
How do I implement dynamic braking with an H bridge motor drive?
To brake a DC motor rapidly, you must short-circuit its terminals to turn it into a generator that dissipates its own kinetic energy as heat. On an H-bridge, you achieve "dynamic braking" by turning OFF both high-side MOSFETs and turning ON both low-side MOSFETs simultaneously. This creates a short loop across the motor windings. Ensure your driver IC supports this state without triggering shoot-through protection; many modern drivers have a dedicated "brake" logic state mapped in their truth tables.
What is the difference between an H-bridge IC and a motor shield?
An H-bridge IC (like the DRV8871 chip) is the bare silicon component that handles the power switching. A motor shield (like the Adafruit Motor Shield V2) is a complete Printed Circuit Board (PCB) that integrates the H-bridge ICs with necessary support circuitry: flyback diodes for inductive kickback protection, bulk decoupling capacitors, logic level shifters, and screw terminals. Shields cost more ($20-$30) but save hours of bench time designing and soldering the support passives.






