
Here is a question that kills more first robots than any wiring mistake: how much torque does your drivetrain actually need? Most people answer it empirically. They buy whatever motor came in the kit, bolt it to a chassis, and find out at the bottom of a ramp the robot flatly refuses to climb — wheels turning, going nowhere, motors getting suspiciously warm.
The irritating part is that this is a five-minute calculation you could have done before spending any money. Here is how the math works, which numbers on a datasheet matter, and what they say about the motors sitting in your parts bin right now.
A gearbox trades speed for torque, and takes a cut on the way through
The bare brushed motor inside a gearmotor spins fast and pulls weakly. On its own it is useless for driving a wheel. A gearbox fixes that by trading one for the other at a fixed exchange rate: the gear ratio.
A 1:48 gearbox — the ratio printed on the yellow TT motors in nearly every Arduino car kit — means the internal motor shaft turns 48 times for one turn of the output shaft. Output speed is divided by 48. Output torque is multiplied by roughly 48.
Roughly, because gears are not free. Every mesh in the train gives up something to friction, and a stack of injection-molded plastic spur gears is not a precision instrument. A cheap multi-stage plastic train typically delivers somewhere in the region of 60–80% of the ideal multiplication. This is exactly why you size a drivetrain from the manufacturer’s published output torque instead of computing it yourself from the bare motor’s spec and the ratio.
The ratio also tells you something about what is going on inside the case. A TT motor turns its output at about 200 RPM on 6V, so the motor buried in there is spinning at roughly 200 × 48 = 9,600 RPM. That is why these things whine.
Three torque units, and the only conversions you need
Datasheets use kg·cm, N·m, and oz·in more or less at random, often within the same listing. Write these on the wall:
- 1 kg·cm = 0.098 N·m
- 1 N·m = 10.2 kg·cm
- 1 kg·cm = 13.9 oz·in
Of the three, kg·cm is the friendliest, because it is physically literal rather than abstract. It is the number of kilograms a lever one centimeter long could hold up against gravity. Bolt a 10 cm lever to the shaft of a motor rated 0.8 kg·cm and it will hold 80 grams at the far end. That is not an analogy — it is a measurement you can take on your kitchen counter, and we will do precisely that in a minute.
Then learn to tell apart the two torque figures sellers quote interchangeably. Stall torque is the maximum the motor makes at the instant it stops turning — drawing many times its no-load current and dumping nearly all of it into the windings as heat. Rated (or continuous) torque is what it will deliver indefinitely without cooking itself. The long-standing hobby rule of thumb is to keep your continuous load at 20–30% of stall torque; the sweet spot for efficiency sits lower still, around one-seventh of stall. Size a robot to stall torque and you will replace motors and motor drivers.
The sizing math, on a real robot
It all reduces to one equation: torque = force × wheel radius, divided across however many wheels you are driving. The work is in figuring out the force. Three things add up to what vehicle engineers call total tractive effort:
- Rolling resistance — the weight of the robot times a coefficient for the surface. Hard rubber on a smooth hard floor runs low, roughly 0.05–0.1. Carpet is dramatically worse.
- Grade resistance — the component of weight pulling you back down a slope, which is weight times the sine of the angle. On flat ground this term is zero, which is why flat-floor testing lies to you.
- Acceleration force — plain mass times acceleration. Usually the smallest of the three on a slow robot.
So: a 1.2 kg two-wheel-drive robot on 65 mm wheels (0.0325 m radius), which has to climb a 15° ramp, reach 0.5 m/s within a second, on a surface with a rolling resistance coefficient around 0.08.
Weight 1.2 kg × 9.81 = 11.77 N
Grade (15°) 11.77 × sin 15° = 3.05 N
Rolling (0.08) 11.77 × cos 15° × 0.08 = 0.91 N
Acceleration 1.2 kg × 0.5 m/s² = 0.60 N
-------
Total tractive effort = 4.56 N
+15% for driveline friction = 5.24 N
Torque 5.24 N × 0.0325 m = 0.170 N·m
Per motor (2 driven wheels) = 0.085 N·m
= 0.87 kg·cm
Stall torque needed (0.87 ÷ 0.25) = 3.5 kg·cm
So: 0.87 kg·cm per motor, continuously, and therefore motors with at least about 3.5 kg·cm of stall torque to deliver it with a sane margin. That is the whole calculation. Change the weight, the wheel size, or the slope and rerun it — it takes thirty seconds once you have done it once.
Why the motor in your starter kit cannot do that
The TT motor’s stall torque on 6V is about 0.8 kg·cm. We just worked out that we need 3.5. It is not close, and it is not a matter of pushing the voltage a little — it is short by more than a factor of four. No amount of clever code fixes that. This is the single most common reason a beginner’s robot bogs down.
But run the same equation on the robot these motors were actually designed for and the verdict flips completely. Take 350 grams on a flat floor: the per-motor requirement collapses to about 0.086 kg·cm, which sits comfortably inside the TT motor’s roughly 0.2 kg·cm continuous budget. A light line follower or a small obstacle-avoider on hard flooring is well within spec. A 1.2 kg robot with a battery pack, a chassis plate, and ambitions about ramps is not.
This post contains affiliate links. If you buy through them, this site earns a commission at no extra cost to you.
For the robot they suit, they are hard to argue with on price. These are the standard 1:48 dual-shaft TT gearmotors, 200 RPM at 6V, bundled with the usual 65 mm rubber wheels — the exact combination assumed by basically every beginner chassis and tutorial, which makes them the sane default for a first build and a useful known quantity for the measurement below.

200 RPM at 6V, roughly 0.8 kg·cm stall, 150 mA no-load. Right for a sub-500 g robot on hard floors, out of its depth above that. Four sets means spares, which you will want.
Check Price on Amazon →What stepping up to a metal gearbox actually buys you
The honest fix for the 1.2 kg robot is a bigger gearmotor, and the 25GA370 class is where most people land — a 25 mm metal gearbox on a 370-size motor, sold in a wide spread of ratios. The 12V, 130 RPM variant is rated at about 1.2 kg·cm with roughly 8 W of input and no-load current under 0.65 A. Note what kind of number that 1.2 is: a rated figure, not a stall figure. It clears the 0.87 kg·cm we calculated with real headroom, which is the whole point.
The rear shaft is there for an encoder, and if you have any intention of driving straight, holding a speed, or doing odometry, that matters more than the torque does. Open-loop motors never go quite the same speed as each other. Encoders are what let you fix that in software.

About 1.2 kg·cm rated torque, 8 W, metal gear train, rear shaft ready for an encoder. Roughly the smallest thing that will haul a 1 kg-plus robot up a real slope without complaint.
Check Price on Amazon →One caveat on every 12V figure you will read: those specs assume 12V at the motor terminals. An L298N — still the default driver in beginner robotics — drops roughly 2V across its output transistors, so a 12V pack actually hands the motor something closer to 10V, and torque falls off with it. Either budget for the loss or use a MOSFET-based driver instead. How motor drivers actually work covers why that drop exists, and the L298N review goes into what it costs you in practice.
Choosing a ratio: what you give up in speed
Torque is only half of the trade. Convert RPM to ground speed with speed = wheel circumference × RPM ÷ 60. A 65 mm wheel has a circumference of about 0.204 m, so:
- TT motor at 200 RPM → about 0.68 m/s
- 25GA370 at 130 RPM → about 0.44 m/s
The metal gearmotor gives up roughly a third of the speed and returns several times the usable torque. For almost every hobby robot that is a trade worth making — 0.44 m/s is still faster than you want an autonomous robot moving while it figures out where the walls are.
And notice that wheel radius sits in the torque equation linearly, which makes wheel choice a drivetrain decision rather than a cosmetic one. Swapping 65 mm wheels for 100 mm raises your torque requirement by about 54% and buys you ground clearance and a bit of speed. Sometimes that is the right call; it is never a free one. Wheels vs. tracks vs. legs gets into the rest of that decision.
Three ways people get this wrong
Sizing on a flat hard floor. The grade term is zero on flat ground and dominates everything else the moment it is not. A robot that works beautifully on laminate will stall at the edge of an area rug. If your robot will ever meet a slope, a threshold, or carpet, put that in the equation before you buy.
Sizing to stall torque. Stall torque is a number from a moment the motor cannot survive, not an operating point. If your calculation says 0.87 kg·cm and you buy a motor whose stall torque is 0.9, you have bought a motor that runs permanently at 97% of stall. It will get hot, draw far more current than you planned for, and quite possibly take the driver with it.
Forgetting that torque is paid for in current. Motor torque is essentially proportional to current, so the loaded-up drivetrain you just specified is also a much larger electrical load than the no-load figure on the listing. A pack that sags under it will brown out your microcontroller mid-turn, which looks for all the world like a software bug. Powering a robot walks through sizing the supply to match.
None of this requires more than a calculator and the weight of your robot. Run the numbers before the order, not after the ramp. And if you are still deciding what kind of motor belongs in the thing at all, servos vs. DC motors vs. steppers is the step before this one.