Skip to content
Motors and servos · 1 of 218 minrookie

DC motors, gearboxes and encoders

How a gearmotor turns 6,000 RPM into useful torque, what free speed and stall really mean, and how to turn encoder counts into distance.

By the end you can

  • Explain what the motor, gearbox and encoder in an FTC gearmotor each do
  • Use free speed and stall current to predict how a motor behaves under load
  • Calculate encoder counts per output revolution and per millimetre of wheel travel
  • Wire a six-motor robot across a Control Hub and an Expansion Hub with matching ports
On this page · 7 sections

Nearly every FTC motor (the small REV Core Hex is the main exception) is the same idea in a different box: a small, fast DC motor, a gearbox that trades speed for torque, and an encoder that counts how far it has turned. Understand those three parts and you can read any motor's spec sheet.

UltraPlanetary Gearbox System· REV RoboticsWatch on YouTube

Three parts in one gearmotor

The motor
A brushed 12V DC motor. With no load, the bare motors inside goBILDA Yellow Jackets, REV HD Hex and AndyMark NeveRest gearmotors all spin at roughly 6,000 RPM. That is far too fast and too weak to drive a wheel directly.
The gearbox
Bolted to the front. A 20:1 gearbox makes the output shaft turn 20 times slower and roughly 20 times more forcefully (minus some friction). Planetary gearboxes handle shock loads much better than spur gearboxes, so use planetary on drivetrains.
The encoder
Mounted on the back, under a cap. It reports how far the motor shaft has turned, so your code can measure speed and position. It has its own cable, separate from the motor's power cable.

Worked example — where does "312 RPM" come from? goBILDA's 5203 Yellow Jacket with a 19.2:1 gearbox is listed at 312 RPM. Divide the bare motor's ~6,000 RPM by the ratio: 6,000 ÷ 19.2 ≈ 312 RPM. A higher ratio gives a slower, stronger output; a lower ratio gives a faster, weaker one.

Which motors are legal is set by the Competition Manual (rule R501 in 2026–27), and so is the maximum number of motors per robot. Both have changed between seasons, so check the current manual before you plan a design.

Free speed and stall

Every motor spec sheet lists two extremes:

Free speed
How fast the output turns with nothing attached. The motor draws very little current here — goBILDA lists 0.25A for the 312 RPM Yellow Jacket.
Stall
The motor is powered but held so it cannot turn. Torque is at its maximum, speed is zero, and current is at its maximum — goBILDA lists 9.2A for the same motor. All of that power becomes heat.

Real mechanisms live between those two points. As load increases, speed falls and current rises. Game Manual 0 points out that a motor makes its peak power at about half of its stall torque, and runs more efficiently at lighter loads. Their rule of thumb: choose a gear ratio so the motor's stall torque is about twice the torque the mechanism normally needs.

Holding a heavy arm is a stall

An arm or lift held still against gravity at high power is close to a stall: lots of current, no movement, rising heat. Two or three mechanisms doing this while the drivetrain pushes another robot can approach the battery's 20A fuse and brown out the robot. Gear heavy mechanisms down, counterbalance them with springs or surgical tubing, or let them rest on a hard stop.

The hub has limits too. REV rates each Control Hub motor port at 10A continuous and 20A absolute maximum, with the outputs protecting themselves as they approach their thermal limit — and the 20A battery fuse caps the whole robot.

Encoders: counting rotation

A motor encoder is a quadrature encoder: two signals, A and B, that switch on and off slightly out of step as the shaft turns. The hub counts every edge of both signals, which gives four counts per signal cycle and also tells it which way the shaft is turning.

The number you need is counts per revolution of the output shaft:

counts per output revolution = counts per motor revolution × gear ratio

REV and goBILDA motor encoders both produce 28 counts per revolution of the motor shaft, so:

MotorGear ratioCounts per output revolution
REV HD Hex, 20:1 spur20:128 × 20 = 560
REV HD Hex, 40:1 spur40:128 × 40 = 1,120
goBILDA 5203 Yellow Jacket, 312 RPM19.2:128 × 19.2 ≈ 537.7
REV Core Hex72:14 × 72 = 288 (its encoder gives 4 counts per motor revolution)

goBILDA publishes 537.7 rather than a round 537.6 because the true ratio of that gearbox is slightly above 19.2:1. Always take the number from the manufacturer's page for your exact motor.

Worked example — counts to drive 600 mm. Your drivetrain uses 312 RPM Yellow Jackets direct-driving 104 mm wheels.

  1. Wheel circumference: π × 104 mm ≈ 326.7 mm per wheel revolution.

  2. Counts per millimetre: 537.7 ÷ 326.7 ≈ 1.646 counts/mm.

  3. Target: 600 mm × 1.646 ≈ 987 counts.

That is the theory. On the field, wheels slip — mecanum wheels especially — so drive encoders drift during fast or aggressive moves. The odometry lesson covers the hardware teams add to fix that.

Worked example — an arm on a Core Hex. The Core Hex gives 288 counts per output revolution, so each count is 360° ÷ 288 = 1.25°. To rotate the arm 90°, command 90 ÷ 1.25 = 72 counts.

Matching motor and encoder ports

You met this rule when wiring: a motor's power cable and its encoder cable must go to the same numbered port on the same hub. If they do not, your code reads a different motor's encoder, and autonomous drives the wrong distance with no error message.

The cables are different too:

  • Motor power uses a 2-pin JST VH connector on the hub. REV motors plug straight in. goBILDA Yellow Jackets use 3.5 mm bullet connectors for power, so they need an adapter cable.
  • Encoders use the hub's 4-pin JST PH encoder ports. REV motor encoders plug straight in; goBILDA and AndyMark encoders use a JST XH plug, and both vendors sell adapter cables to JST PH.

Four motors is not a robot

A four-motor drivetrain uses every motor port on the Control Hub. The moment you add an intake or a lift, you need an Expansion Hub — linked to the Control Hub with an RS485 cable and given its own 12V feed. Plan your ports on paper before you build.

Wire six motors

Wire a robot with a four-motor drivetrain plus two mechanism motors. You will need to add an Expansion Hub: connect its RS485 port to the Control Hub, power it through the main switch, and put each motor's power and encoder on matching ports.

Wiring challenge

Wire a six-motor robot

Add an Expansion Hub, link it to the Control Hub over RS485, and power it through the main switch — the easy way is a lead from the Control Hub's Power out port. Then wire six motors with power and encoder on matching ports. The inspection report must be clear of errors.

Requirements

  • Expansion Hub powered and linked over RS4850/1
  • Six motors, power and encoder connected0/6
0 errors0 warnings
Mini Map

For the code side — RUN_USING_ENCODER, PID position control and reading encoder counts — see the programming track's PID Control in Subsystems lesson. You can also try motors in the Java robot simulator.

Check yourself

Your lift motor gets hot and the robot browns out when the driver holds the lift halfway up at full power. What is happening?

Check yourself

A REV HD Hex motor with a 20:1 gearbox drives a wheel directly. How many encoder counts is one full wheel revolution?

Next

Motors are for continuous, powerful motion. For precise positions on claws, wrists and flippers, FTC robots use servos — the next lesson.

Sources and further reading

Finished this lesson?

Mark it complete to track your progress.