· updated
DRV8833 vs MX1508 for N20 Motors on a 2S Pack: Why the Cheap One Stays on the Shelf
Two common dual H-bridge drivers compared for a small 7.4 V robot. The DRV8833 has real protection and rarely dies; the MX1508 sits too close to its voltage ceiling to trust with regenerative braking.
I had both a DRV8833 and an MX1508 breakout on the bench and briefly considered designing the motor stage so either could be swapped in as a field spare. After reading both datasheets against the actual operating conditions, the answer was clear: the DRV8833 stays, the MX1508 does not go anywhere near the main drive.
The operating point
- Supply: 2S LiPo, 6.0 V empty to 8.4 V fully charged
- Load: four N20 gear motors, two per driver
- Per-motor stall current: roughly 0.8 A, so ~1.6 A per driver worst case
- PWM at 20 kHz, and the robot brakes and reverses hard in normal use
That last point matters more than the current figure.
Side by side
| DRV8833 | MX1508 | |
|---|---|---|
| Supply range (VM) | 2.7-10.8 V (abs. max 11.8 V) | 2-9.6 V (some datasheets say 10 V) |
| Over-current protection | Yes, ~3.3 A per bridge | Claimed; threshold not specified reliably |
| Thermal shutdown | Yes, ~150 °C | Effectively no |
| Under-voltage lockout | Yes | No |
| Construction | Integrated driver with control logic | Four discrete MOSFETs with minimal control |
| Typical price | a few times the MX1508 | very cheap |
Why the DRV8833 is hard to kill here
At 1.6 A per driver the DRV8833 is well inside its rating. If a wheel jams and the current climbs, the over-current or thermal protection trips before the silicon is damaged. What you see from the outside is: the robot suddenly loses power on one side, pauses for a few hundred milliseconds, then recovers. That is the protection cycling, not a failure.
This is worth stating plainly because the symptom looks like a dying driver. Across the whole project, with several hard stalls and one wiring mistake that ran a motor at full speed for minutes, no DRV8833 has failed. The one incident that looked like driver failure turned out to be an unpowered GPIO domain on the ESP32-P4. Don’t replace the driver until you have measured the inputs.
Given that, a swappable-driver design is solving a problem that does not occur.
Why the MX1508 does not get the main drive
The number that rules it out is the 9.6 V ceiling against an 8.4 V full-charge supply. That is 1.2 V of margin, and an H-bridge driving a motor does not keep the rail at the battery voltage.
When a spinning motor is braked or reversed, it acts as a generator and pushes current back into the supply. The battery absorbs some of it; the protection board and wiring resistance mean the rail rises during that pulse. On a small robot doing quick direction changes, transient excursions of a volt or two above the battery voltage are normal. On the DRV8833 that lands in the 10.8-11.8 V window with room to spare. On the MX1508 it crosses the absolute maximum, and a discrete-MOSFET bridge with no protection does not recover from over-voltage; it fails shorted.
The lack of thermal shutdown compounds it. Two N20s stalled into an MX1508 will heat the MOSFETs until something gives, with no cut-off in between.
Where the MX1508 is fine
Low voltage, light load, no aggressive reversing. A single small auxiliary motor on 5 V, a fan, a pump. It is a perfectly good part for the price in that role, and that is the only role it has on this robot.
Practical notes for the DRV8833
- Leave
nSLEEPhigh (or pull it up) if you are not using it; a floatingnSLEEPgives a driver that randomly stops responding. - The
ISENpins can implement hardware current limiting with a sense resistor (limit ≈ 0.2 V / R). For these motors the limit needed to protect a weak battery would have cut stall torque to a third, so the pins are grounded and the battery was upgraded instead — see the battery article. nFAULTis worth wiring. It is open-drain, active-low, and asserts on over-current, over-temperature or under-voltage. Wiring both drivers’nFAULTpins to one GPIO with a pull-up costs one input and turns “the robot went soft for a moment” from folklore into a log line. You lose the ability to tell which driver tripped, which is a fine trade at this scale. (Planned, not yet wired on my build.)- 20 kHz PWM with slow decay is quiet and gives smooth low-speed control on N20s. Fast decay gives sharper braking but audible whine at lower frequencies.
If you do want to size a sense resistor, this does the arithmetic and shows what it costs in stall torque:
DRV8833 ISEN current limit
Edit either R or I; the other follows. VTRIP = 200 mV per DRV8833 datasheet. Tie ISEN to GND for no limiting.