Motor Driver (H-Bridge)
A motor-driver IC supplies the switching stages needed to control motor current from logic commands. An H-bridge can drive current through a winding in either direction. Driver types differ in supply range, current regulation, braking states, protection and heat dissipation.
An H-bridge selects which side of a winding is driven high or low. Its input truth table also defines braking and coasting. For the DRV8833, both inputs LOW give high-impedance coast/fast decay, while both HIGH give brake/slow decay. For an enabled L298 bridge, equal inputs give fast motor stop; disabling its enable input gives free-running stop. Do not transfer one device's truth table to another.
In plain terms
Four switches arranged in an H shape, with the motor sitting on the cross-bar. Close two diagonally and current flows one way through the motor; close the other diagonal and it flows the other way. The MCU just decides which diagonal is closed.
Also called: H-bridge, L293D, DRV8833, TB6612FNG, stepper driver.
Why designers use it
- Control the direction and speed of a brushed DC motor using a suitable bridge and control signals.
- Control winding current with a driver designed for the selected stepper motor.
- Use the protection functions explicitly documented for the selected device. DRV8833 includes undervoltage, overcurrent and overtemperature protection; this does not establish reverse-polarity protection.
- Keep motor-current paths and decoupling properly arranged on the PCB. An ordinary H-bridge does not itself provide galvanic isolation from the MCU.
Best for
- Brushed DC motors within the driver's ratings
- Compatible bipolar stepper motors
- Solenoids with suitable current and flyback control
- Robot drive mechanisms
- Small positioning actuators
Key specifications
- Motor supply example: DRV8833 VM: 2.7–10.8 V (This is not a separate logic-supply pin.)
- DRV8833 output-current examples: PWP/RTY: 1.5 A RMS; PW: 500 mA RMS per bridge (Stated at VM = 5 V and 25 °C; thermal implementation and operating conditions matter.)
- Logic compatibility: Check the input thresholds separately from supply ratings
- Loss and heating: Use output-drop or on-resistance data at the actual current
When not to use it
- When stall current, braking energy, voltage or thermal conditions exceed the selected driver's capabilities.
- When the driver's control method does not match the motor type.
- When the design relies on a headline peak current as if it were a guaranteed continuous board current.
Common mistakes
- Assuming equal input levels always mean brake, regardless of the driver's truth table.
- Confusing the motor-supply voltage, logic-supply voltage and logic input thresholds.
- Ignoring stall current and the PCB or heatsink needed to remove heat.
- Copying power-sequencing rules from another part rather than following the exact datasheet.
Where you will find it
- A brushed DC motor can be driven by a suitable H-bridge, with braking and coasting defined by that driver's truth table.
- Allegro's A4988 supports up to 1/16-step operation. With a 200-full-step-per-revolution motor, that corresponds to 3,200 commanded microsteps per revolution, not tens of thousands. The command resolution is not a guarantee of positioning accuracy.
A short history
The L298 uses bipolar output stages; the DRV8833 uses MOSFET H-bridges with winding-current regulation. Their different output losses, supplies and control tables illustrate why a newer driver is not simply a pin-for-pin replacement. Read the exact driver and module documentation before choosing wiring or firmware.
Good to know
- The L298's input-HIGH requirement and its logic-supply requirement are different specifications; a 5 V logic supply does not automatically mean every input requires a 5 V HIGH.
- Bipolar output-stage voltage drop rises with operating conditions, so estimate heat from the datasheet at your current, not a fixed 2 V assumption.