An H-bridge motor driver circuit controls the direction and speed of a DC motor by selectively switching voltage polarity across its terminals. If you are sizing an H-bridge for a new build, the golden rule of thumb is to select a driver with a continuous current rating of 1.5x to 2x the motor's stall current, not its nominal running current. Sizing based only on nominal load is the most common reason DIY motor controllers melt down under sudden mechanical binding.

Whether you are building a robotics chassis or an automated winch, picking the right silicon—bipolar junction transistors (BJTs) versus metal-oxide-semiconductor field-effect transistors (MOSFETs)—dictates your efficiency, heat management, and logic compatibility. Below is a practical guide to matching motor profiles to H-bridge topologies, wiring the control logic, and reading the physical failure signatures your driver will exhibit when pushed past its limits.

Matching Motor Topologies to H-Bridge Drivers

Not all DC motors behave identically under PWM (Pulse Width Modulation) control. The inductance, rotor inertia, and brush configuration of your motor dictate the switching frequency and current headroom your H-bridge must provide. Note that Brushless DC (BLDC) motors require a 3-phase inverter bridge, not a standard single-phase H-bridge, and are excluded from this comparison.

Table 1: Motor Type vs. H-Bridge Control Requirements
Motor Type Torque Curve Profile Control & PWM Needs Recommended Driver Topology
Brushed DC (Iron Core) High starting/stall torque; linear speed-torque drop. Standard 1kHz - 5kHz PWM. Tolerates voltage ripple well. MOSFET H-Bridge (e.g., DRV8871, BTS7960). BJTs acceptable for <1A.
Coreless DC Extremely low rotor inertia; fast acceleration; low cogging. Requires >20kHz PWM. Low frequency causes audible whine and core eddy-current heating. Low-Rds(on) MOSFET H-Bridge with fast gate drivers to minimize switching losses at high freq.
Bipolar Stepper High holding torque at zero speed; drops off rapidly at high RPM. Dual H-Bridge with microstepping sequencer. Needs current chopping (decay modes). Specialized Dual H-Bridge ICs (e.g., DRV8825, TMC2209) rather than discrete logic-driven bridges.
Brushed DC (High Inductance) Similar to iron core, but massive inductive spikes on direction reversal. Needs aggressive dead-time insertion between direction switches to prevent shoot-through. MOSFET H-Bridge with robust external Schottky flyback diodes or high-clamp-ratings.

Source: Texas Instruments Motor Driver Overview

Sizing the Driver: IC Specifications and Worked Load Example

The market is flooded with generic red and blue motor driver modules. To avoid buying the wrong one, you need to look at the silicon's continuous current rating, its topology (BJT vs. MOSFET), and its on-resistance (Rds(on)) or voltage drop. Below is a data-dense comparison of the most common H-bridge ICs found in maker and light-industrial projects.

Table 2: Common H-Bridge IC / Module Specifications
IC / Module Topology Continuous Current Voltage Drop / Rds(on) Typical Module Cost
L298N BJT (Darlington) 2A per channel ~1.8V to 2.5V drop $2 - $4
DRV8871 MOSFET (Integrated) 3.6A 0.56Ω (High + Low side) $4 - $6
BTS7960 (IBT-2) MOSFET (Half-Bridge x2) 20A (with heatsink) ~1.5mΩ per switch $10 - $15
DRV8701 Gate Driver (External FETs) 50A+ (FET dependent) <1mΩ (with good FETs) $8 - $12 (IC + FETs)
Worked Sizing Example:
You are driving a 12V planetary gearmotor for a small winch. The datasheet states a nominal running current of 4.2A (at 50W) and a stall current of 18A.

The Mistake: Sizing for the 4.2A nominal load and choosing a DRV8871 (3.6A continuous). The moment the winch jams, the motor draws 18A, instantly triggering the DRV8871's overcurrent protection or melting the silicon.
The Fix: Apply the 1.5x stall current rule. 18A × 1.5 = 27A required continuous rating. You must step up to a BTS7960 module (rated for ~20A-25A continuous with active cooling) or design a custom board using the DRV8701 gate driver with external 40A MOSFETs (like the IRFB4110). Always fuse the main battery supply line at 25A to protect the wiring in a dead-short stall scenario.

Wiring, Terminal Identification, and Logic Translation

While pinouts vary slightly between breakout boards, standard high-power H-bridge modules (like the BTS7960 IBT-2 or DRV8871 carriers) share a common terminal architecture. Miswiring the logic and motor power supplies is the fastest way to fry a microcontroller.

  • VM (or B+ / Motor Power): The high-current supply for the motor. Connect this directly to your battery or main power bus. Use thick AWG wire (e.g., 12 AWG for 20A loads) and keep the leads as short as possible to minimize parasitic inductance.
  • VCC (or Logic Power): The low-current supply for the driver's internal logic and optocouplers. This is typically 5V. Never connect motor power to this pin.
  • GND (Logic & Power): The ground reference. Crucially, the microcontroller's ground and the H-bridge's logic ground must be tied together to establish a common reference voltage for the PWM signals.
  • IN1 / IN2 (or RPWM / LPWM): The control inputs. Applying a HIGH signal to IN1 and LOW to IN2 drives the motor forward. Reversing the logic states reverses the motor. Applying PWM to the active pin controls speed.
  • OUT1 / OUT2: The switched high-current outputs connected directly to the motor terminals.
Callout Tip: 3.3V Logic Translation
If you are driving an H-bridge with an ESP32, Raspberry Pi Pico, or STM32 (which output 3.3V logic), check your driver's datasheet. Many older modules (and some BTS7960 optocoupler circuits) require a strict 5V HIGH threshold to fully turn on the internal MOSFET gates. Driving them with 3.3V can result in the MOSFETs operating in their linear (high-resistance) region, causing massive heat generation. Use a bidirectional logic level shifter (like the BSS138-based modules) or choose a driver specifically rated for 3.3V logic inputs, such as the TI DRV8871.

Diagnosing Failure Signatures: Hum, Overheat, and Stall

When an H-bridge circuit fails, it rarely just stops working silently. The physical symptoms—audible noise, thermal behavior, and mechanical stuttering—tell you exactly which part of the circuit is compromised. Here is how to read those signatures based on bench and field experience.

1. The Audible 'Hum' or Whine

If your motor or driver emits a high-pitched whine, you are likely dealing with a PWM frequency mismatch. Coreless DC motors and high-inductance brushed motors will audibly vibrate if the PWM frequency is below the human hearing threshold (typically <16kHz). While this is annoying, the real danger is that low-frequency PWM in high-inductance motors causes massive current ripple, leading to localized heating in the motor windings.
The Fix: Increase your microcontroller's PWM timer frequency to at least 20kHz. On an Arduino, this requires manipulating the Timer1 or Timer2 registers; on an ESP32, use the ledcSetup() function to set the frequency parameter to 20000.

2. Overheat and Thermal Shutdown

If the driver IC is too hot to touch within seconds of operation, you are likely using a BJT-based driver (like the L298N) for a load that demands a MOSFET driver. The L298N uses Darlington transistor pairs, which inherently drop about 2.0V across the junction. At 2A of current, that is 4 Watts of pure heat dissipated directly inside the silicon (P = V × I). Without a massive heatsink, the junction temperature will exceed 150°C, triggering the IC's internal thermal shutdown.
The Fix: Retire the L298N for anything above 1A. Switch to a MOSFET-based driver. A MOSFET's power loss is calculated by I² × Rds(on). A BTS7960 with an Rds(on) of 1.5mΩ at 10A dissipates only 0.15W per switch, running cool to the touch.

3. Stall Spikes and 'Magic Smoke'

If your H-bridge works fine during testing but blows up (often venting magic smoke from the low-side MOSFET) the moment the motor is mechanically jammed or rapidly reversed, you are a victim of inductive kickback (Back-EMF). When a motor stalls or switches direction, the collapsing magnetic field generates a massive voltage spike of opposite polarity. If the internal body diodes of the H-bridge MOSFETs are too slow to clamp this spike, the voltage exceeds the MOSFET's VDS (Drain-Source breakdown voltage), punching a hole through the silicon.
The Fix: Ensure your driver module has adequate flyback clamping. High-quality modules include external Schottky diodes (like the SS34) across the motor terminals. If you are building a custom H-bridge with discrete MOSFETs, you must add external fast-recovery or Schottky diodes in parallel with each of the four switches. Never rely solely on the MOSFET's internal parasitic body diode for high-current inductive clamping.

For a deeper dive into the physics of inductive kickback and flyback diode selection, refer to the comprehensive breakdown on All About Circuits' H-Bridge Design Guide. Understanding these failure modes is the difference between a motor driver that lasts for years and one that fails on the first deployment.