When to use: Find the PWM duty cycle needed to drive a brushed DC motor at a target average voltage (speed), see the on/off timing at your chosen PWM frequency, and get a driver IC / H-bridge module recommendation sized to your motor's continuous and stall current.
This tool calculates the PWM duty cycle needed to drive a brushed DC motor at a target average voltage, shows the resulting on/off timing at your chosen switching frequency, and recommends an H-bridge motor driver sized to your motor's continuous and stall current draw.
A PWM (pulse-width modulation) motor driver switches the full supply voltage on and off rapidly rather than regulating a lower voltage linearly, which avoids wasting power as heat. The motor's inductance and the mechanical inertia of the rotor smooth the rapid on/off pulses into an effective average voltage, approximately V_avg = V_supply × duty cycle. So a 12V supply switched at a 50% duty cycle delivers roughly 6V worth of average drive to the motor, which produces roughly half the motor's rated free-running speed under light load (motor speed is roughly proportional to average voltage for a given load torque).
PWM frequency for small brushed DC motors is typically chosen in the 15–25 kHz range. Below about 15–18 kHz, the switching frequency itself (and the resulting current ripple through the motor windings) can fall into the audible range and produce an audible whine from the motor. Frequencies well above 25 kHz work electrically but increase switching losses in the driver, generating more heat for no control benefit in a typical brushed DC application. Very low frequencies (a few hundred Hz) are sometimes used deliberately for large motors or specific applications, but for the great majority of small-to-mid DC motor control, 20 kHz is a safe default that's inaudible and keeps switching losses low.
An H-bridge or motor driver IC must be sized to two different current figures from the motor's datasheet: continuous (running) current, which the driver must sustain without overheating, and stall current, the much higher current the motor draws for a brief moment at zero RPM under load (such as at startup, or if the mechanism jams) — brushed DC motor stall current is commonly 3–5× the rated continuous current. The driver's continuous current rating should exceed the motor's continuous draw with margin (this tool applies roughly 25% headroom), and its peak/surge current rating should cover the stall current, at least briefly — most driver ICs specify a peak rating for exactly this transient condition, along with a thermal shutdown or current-limit feature that protects the driver if a stall is sustained.
Enter the motor's rated voltage and the average voltage you want to drive it at — the ratio between them sets the duty cycle. Enter your chosen PWM frequency to see the resulting on-time and off-time per cycle. Enter the motor's continuous and stall current (from its datasheet, or a reasonable estimate) and your supply voltage to get a driver recommendation. Treat the recommendation as a starting point — always check the specific driver's datasheet for its actual continuous current rating at your ambient temperature and with whatever heatsinking you plan to use, since published current ratings often assume ideal cooling.
Approximately, but not exactly. Average voltage does scale linearly with duty cycle (V_avg = V_supply × duty), and motor speed is roughly proportional to applied voltage for a fixed load — but at very low duty cycles, the motor may not produce enough torque to overcome static friction and won't turn at all (this minimum is sometimes called the motor's "dead zone"), and the speed/duty relationship is only linear if the load torque stays constant as speed changes, which isn't true for loads like fans or pumps.
Two reasons: first, many practical control moves (starting from a stop, or driving into a mechanical limit) DO pass through near-stall current, even briefly, and an underrated driver can be damaged or trip a fault in that moment. Second, if something jams — a robot arm hits an obstruction, a linear actuator reaches an unexpected hard stop — the motor can sit at stall current for longer than intended, and only a driver with adequate peak rating and thermal protection survives that fault condition without damage.
Continuous (or "RMS") current is what the driver can sustain indefinitely without exceeding its thermal limits, assuming the datasheet's stated cooling conditions. Peak (or "surge") current is a much higher figure the driver can handle for a short duration — often specified in milliseconds to a few seconds — before its internal thermal protection has to intervene. Motor stall current should be checked against the peak rating, not the continuous rating, since a stall is by definition a transient (or fault) condition, not steady-state operation.
Only if you're driving them in parallel as a single electrical load (same speed and direction always) and the combined current stays within the driver's rating — most H-bridge ICs have two independent half-bridge channels meant for two separate motors (or one motor in full-bridge/4-quadrant mode), not for paralleling multiple motors on one channel. For independently-controlled motors, use one driver channel per motor, or a multi-channel driver module sized for the total current.
The L298N uses bipolar transistor outputs with a relatively high voltage drop (roughly 2V total across the bridge), which limits its practical continuous current to around 2A per channel before it overheats even with a heatsink. The BTS7960 (commonly sold as the "IBT-2" module) uses MOSFET outputs with a much lower on-resistance, so it dissipates far less heat per amp and can sustain tens of amps continuously with adequate heatsinking — the jump in the recommendation reflects a real, large gap in what these two commonly-available driver technologies can handle.
Try our Mechatronics Studio
More calculators, simulators, and guides for this discipline.