The driver has to match both the motor type and its current. Get either wrong and you get overheating, stalling or a dead board.
Match the driver to the motor type
Brushed DC needs an H-bridge for both directions — simple and cheap. Stepper needs a bipolar chopper driver that regulates current (not voltage); microstepping smooths motion but gives you less incremental torque than people expect (see the stepper tool). BLDC needs a three-phase driver plus commutation — sensored (Hall) for reliable start-up under load, sensorless for cost.
A brushed motor is stalled against a hard stop on a 24 V supply. Its winding resistance is 1.5 Ω. What current does the driver have to survive?
At zero speed there is no back-EMF, so the only thing limiting current is the winding resistance: 24/1.5 = 16 A, which for a motor rated at 2 A continuous is eight times its nameplate. Every brushed motor draws its stall current at the instant of switch-on too, before it has any speed. This is why drivers are rated for current and not for volts, why the peak rating matters as much as the continuous one, and why current limiting is not a luxury feature — it is the thing standing between a jammed mechanism and a dead bridge.
Try it — current against speed, and where the driver has to live
Rate for current, not for volts
Voltage sets speed; current sets torque and heat. Size the driver for the stall or acceleration current, which can be several times the running current — a motor at stall is just its winding resistance across the supply. Check the driver's continuous rating (not its peak headline number) and whether that rating assumes a heat sink or airflow.
Protection you actually need
Look for over-current limit, thermal shutdown, and under-voltage lockout. Add flyback/freewheeling paths for the inductive winding. A regenerating load (lowering a mass, decelerating a flywheel) pumps energy back into the supply — you may need a brake resistor or a supply that tolerates it. Check the FET losses if you are building the bridge yourself.
Control and feedback
Decide what you actually need: open-loop (steppers, if never overloaded), velocity loop (encoder + PI), or full position control. PWM above ~20 kHz keeps the whine out of hearing. And confirm the logic voltage matches your controller, or add level shifting.