A DC motor drive is the power stage that translates low-voltage logic signals into high-current PWM waveforms to control motor speed, direction, and torque. If you need continuous high torque at low speeds without complex commutation logic, a Brushed DC (BDC) motor paired with an H-bridge PWM drive is your default pick. If your application demands high RPM, high efficiency, and you can accommodate hall-sensor wiring, choose a Brushless DC (BLDC) motor with a 3-phase sinusoidal or trapezoidal controller. Selecting the wrong drive topology or undersizing the MOSFETs will result in immediate thermal failure or erratic stalling.
Motor Types and Their Drive Demands
Matching the motor to the load profile dictates the drive architecture. Stepper and servo motors operate on entirely different closed-loop or open-loop step principles and are excluded here to focus strictly on continuous-rotation DC architectures. According to Pololu's Guide to DC Motors, understanding the mechanical load is the first step in drive selection.
| Motor Type | Torque Curve | Control Needs | Typical Drive Cost |
|---|---|---|---|
| Brushed DC (BDC) | Maximum torque at zero RPM (stall), drops linearly as speed increases. | Simple 2-wire H-bridge. Requires only PWM for speed and GPIO for direction. | $5 - $25 |
| Brushless DC (BLDC) | Flat torque curve up to base speed, then drops off in the constant-power region. | 3-phase inverter. Requires hall-effect sensors or sensorless back-EMF zero-crossing detection. | $30 - $150+ |
| Coreless DC | High torque-to-inertia ratio, excellent low-speed smoothness, lower absolute peak torque. | Standard H-bridge, but demands high-frequency PWM (>20kHz) to prevent cogging and audible whine. | $10 - $30 |
Sizing the DC Motor Drive: The 150% Rule and Load Math
The most common mistake in motor drive selection is sizing the controller based on the motor's nameplate 'nominal' or 'rated' current. The nominal current only reflects the continuous thermal limit of the motor windings at a specific ambient temperature (usually 25°C). It ignores the mechanical reality of your load.
The Sizing Rule of Thumb: Size your DC motor drive to handle 150% of the motor's calculated stall current, or 150% of the peak mechanical load current, whichever is higher. This provides the thermal headroom necessary to survive momentary jams, start-up inrush, and voltage spikes without triggering the drive's overcurrent protection (OCP) or melting the MOSFET silicon.
Worked Load Example: 24V Scooter Motor
Let's size a drive for a common MY1016 24V 250W brushed e-bike motor driving a small conveyor belt.
- Nominal Current: 250W / 24V = 10.4A.
- Terminal Resistance (R): Measured with a milliohm meter at 0.4Ω.
- Stall Current (I_stall): V / R = 24V / 0.4Ω = 60A.
If the conveyor belt jams, the motor stalls and draws 60A. A drive rated for 15A continuous will instantly overheat and fail. You must select a drive capable of surviving a 60A peak transient. A module based on the BTS7960 half-bridge IC, which handles 43A continuous per half-bridge (yielding ~40A safe continuous for the full H-bridge and higher peaks), is the correct choice here. Always verify the datasheet's thermal derating curve; a '43A' rating often assumes an infinite heatsink and 25°C ambient, which rarely exists on a real workbench.
Terminal Wiring and Controller Identification
For high-power brushed DC applications (10A to 40A), the IBT-2 module (based on the Infineon BTS7960) is the industry-standard DIY and prototyping drive. It utilizes two BTS7960 ICs to form a full H-bridge. Understanding its terminal block is critical, as mixing up logic and power grounds will destroy your microcontroller.
| Terminal / Pin | Function | Wiring Notes & Constraints |
|---|---|---|
| B+ / B- | High-current motor power input. | Use minimum 8 AWG silicone wire for >30A loads. Torque screw terminals to 1.5 Nm to prevent arcing. |
| M+ / M- | Motor output terminals. | Polarity determines default forward direction. Swap wires to reverse default rotation. |
| VCC / GND | Logic power for the optocouplers and gate drivers. | Connect to your MCU's 5V or 3.3V rail. Do not connect motor power here. |
| R_EN / L_EN | Right and Left Enable pins. | Must be pulled HIGH (to VCC) to enable the respective half-bridge. Tie together and connect to a single MCU GPIO. |
| R_PWM / L_PWM | PWM input for Forward and Reverse. | Apply PWM to R_PWM for forward, L_PWM for reverse. Keep the inactive pin LOW. |
| R_IS / L_IS | Current sense output. | Analog voltage proportional to motor current. Requires an ADC pin on your MCU for closed-loop current limiting. |
According to the Texas Instruments Motor Drive Portfolio documentation, isolating the high-current power ground from the sensitive logic ground via optocouplers (as the IBT-2 does) prevents ground bounce from resetting your microcontroller during rapid motor acceleration.
Failure Signatures: Diagnosing Hum, Overheat, and Stall
When a DC motor drive misbehaves, the physical symptoms point directly to the electrical root cause. Do not simply swap parts; read the failure signature.
1. Audible Hum or Whine
Symptom: The motor emits a high-pitched whine that changes pitch with the throttle, or a low-frequency hum when commanded to hold still.
Cause: For brushed drives, the PWM frequency is set too low (typically between 1kHz and 4kHz), falling within the human hearing range and causing the motor windings to act as a speaker. For BLDC drives, a low-frequency hum indicates the hall-effect sensors are misaligned, causing the controller to commutate the phases slightly out of sync with the rotor.
Fix: Increase the microcontroller's PWM timer frequency to at least 16kHz to 20kHz. For BLDC, recalibrate the hall sensor offsets in the controller firmware (e.g., using ODrive's <odrv0>.config.motor.motor_type calibration routine).
2. Drive Overheating (MOSFETs > 100°C)
Symptom: The drive's heatsink is too hot to touch, and the drive eventually shuts down or vents magic smoke, even though the motor current is well below the rated limit.
Cause: This is almost always a gate-drive voltage issue or a lack of dead-time. If the logic VCC drops below 4.5V, the MOSFET gate drivers cannot fully enhance the gates. The MOSFETs enter their linear (ohmic) region instead of acting as fully closed switches, causing their Rds(on) to spike and dissipate massive heat. Alternatively, if both the high-side and low-side MOSFETs on the same leg turn on simultaneously (shoot-through), it creates a dead short across the power supply.
Fix: Ensure the logic VCC is a regulated 5V. If writing custom H-bridge firmware, insert a minimum 200ns to 500ns 'dead-time' delay between turning off one MOSFET and turning on the complementary MOSFET.
3. Stall and Trip
Symptom: The motor abruptly stops under heavy load, and the microcontroller registers an overcurrent fault or the physical fuse blows.
Cause: The mechanical load exceeded the motor's breakdown torque, causing RPM to drop to zero. Current spiked to the stall limit ($V/R$).
Fix: This is a mechanical sizing failure, not a drive failure. You must either increase the gear reduction ratio to multiply torque at the wheel, or upgrade to a motor with a lower terminal resistance.
The Final Decision Path: Picking Your Exact Drive
Stop guessing. Use this decision tree to select the exact DC motor drive part number for your project based on your motor topology and current requirements.
| Load Profile & Motor Type | Current Requirement | Concrete Drive Pick (Part Number) | Why This Wins |
|---|---|---|---|
| Low-speed, high-torque BDC (e.g., winches, small rovers) | Under 10A Continuous | Cytron MD10C (or TI DRV8871 for pure IC) | Built-in optical isolation, screw terminals, handles 13A continuous without a heatsink. Simplifies wiring. |
| Medium-speed, heavy BDC (e.g., e-bikes, conveyors, actuator arms) | 10A to 40A Continuous | BTS7960 (IBT-2 Module) | Unbeatable price-to-current ratio (~$12). High peak current survival, analog current sense pins included. |
| High-RPM, high-efficiency BLDC (e.g., spindles, drones, CNC routers) | Up to 40A per phase | ODrive v3.6 (56V variant) | Native Field Oriented Control (FOC), USB configuration, handles dual BLDC motors. The undisputed king of open-source BLDC drives. |
| Ultra-precise, low-inertia Coreless DC (e.g., camera gimbals, medical robotics) | Under 3A Continuous | Pololu High-Power Motor Driver 18v7 | Exceptional low-speed PWM resolution, ultra-low dead-time, prevents cogging in coreless armatures. |
The Default Verdict: If you are building a general-purpose robotic chassis or automated mechanism and haven't finalized your exact load math yet, buy the BTS7960 IBT-2 module for brushed motors. It forgives wiring mistakes, survives accidental stalls that would instantly kill smaller silicon drives, and costs less than a replacement microcontroller. For any application requiring BLDC precision, standardizing on the ODrive ecosystem will save you weeks of firmware debugging.






