Tool 11 · Navigation

Differential Drive Calculator

Your navigation code speaks in "go forward 0.4 m/s while turning 45°/s". Your motors speak in RPM. This tool is the translator — and it tells you when what you're asking for is faster than your motors can actually spin.

Commanded motion

Negative = reverse

Positive = left turn · 0 = straight

Robot geometry

Between wheel contact patches

Gearbox output RPM, no load — from the motor spec

Track width, wheel diameter and max RPM must be positive.

Wheel commands

Left wheel
Right wheel
Turning radius
Motor capacity used
Time for a full circle

How this calculator works

ω (rad/s) = turn rate° × π ÷ 180
v_left = V − ω × (track ÷ 2)
v_right = V + ω × (track ÷ 2)
wheel RPM = v × 60 ÷ (π × wheel diameter)
turning radius = V ÷ ω

Two lines carry the whole idea: forward speed is the average of the two wheels, and turn rate is their difference divided by the track width. Everything a differential drive can do is some combination of those two — which is also why the geometry values matter as much as the command. Get track width wrong by 10% and every turn your robot makes is wrong by 10%, no matter how good the motor control underneath is.

Track width is measured between contact patches, not between motor mounts or chassis edges. And the effective value is usually a millimetre or two wider than the measured one, because tyres scrub outward during a turn. Calibrate it: command ten full in-place rotations, see where the robot actually ends up, and adjust the constant until ten commanded turns produce ten real ones.

The "motor capacity used" figure is the honest reality check. A command is only achievable if the faster wheel stays within the motor's real output RPM — and if it doesn't, the robot won't simply go a bit slower, it will turn the wrong amount, because the outer wheel saturates while the inner one keeps its commanded speed. Well-written drive code detects this and scales both wheels down together to preserve the curve. Leave 15–20% of headroom for the fact that loaded motors never reach their no-load RPM.

Once the wheels are turning, counting what they did is the reverse problem — that's the Wheel Speed & Odometry Calculator. If the RPM figures here are beyond your motors, the Gear Ratio Calculator and Motor Sizing Calculator are where the fix lives.

Common questions

What does a negative wheel speed mean?

The inside wheel must run backwards — the robot is pivoting tightly rather than arcing. That's perfectly legal for a differential drive (it's how you spin in place), but it demands a motor driver capable of clean bidirectional control and it scrubs the tyres, which is bad news for odometry accuracy.

Does this work for a four-wheel skid-steer robot?

The math is the same with both wheels on each side commanded together, but skid-steer robots drag their wheels sideways in every turn. Expect the real turn rate to fall short of the commanded one — often by 20% or more on grippy surfaces — and calibrate the effective track width empirically rather than trusting the tape measure.

Parts this calculation leads to

Links may be affiliate links (see footer disclosure).

Encoder Gearmotors

Matched pairs with encoders for closed-loop drive.

Browse gearmotors →

Motor Drivers

Dual H-bridge drivers with clean bidirectional control.

Browse drivers →

Robot Wheels

Matched wheels — equal diameters keep driving straight.

Browse wheels →

Caster Wheels

Low-friction casters for the third contact point.

Browse casters →