Torque vs Speed

Non-geared electric motors spin fast, really fast, and they are measured in revolutions per minute (RPM). Unfortunately, a high speed
motor generally doesn’t have much turning force (known as ‘torque’) to go with that high speed. This is where geared motors come in handy.

The gearing reduces output spindle speed, but increases the torque, so a robot can drive slower, but push more, handle more weight or be able to skid steer on higher friction surfaces like carpets.

Gearing ratio

The ratio is the difference in input speed to output speed. So a 5 to 1 (5:1) geared ratio means that for every five turns from the motor, the output shaft from the gear will spin only once, whereas a 1000 to 1 (1000:1) geared ratio means the motor will turn 1000 times for one turn of the the output shaft from the gear.

High power vs Low power motors

You will often see motors with similar gearing ratios, but the RPM and Torque measurements will differ.

High power (HP) motors will in general spin faster and/or have higher torque compared to their low power (LP) counterparts. The trade
off for higher torque/speed here is that the HP motors will also drain your robot battery quicker and put a higher demand on the wiring with
increased current flow. You will need to make sure you have a motor driver that can handle the max current draw (and its best to have room
to spare!)

Stall current

Whether its HP, LP, high gear ratio or low gear ratio, each motor will have a Stall Current rating. This is something to take note of when
deciding on your motor driver. If your robot gets stuck, its possible for the wheels to stop spinning, even if they are still trying to spin. This is a “stall event”. Power will still flow and will make the motors and drivers get hot. If either the motor or driver get too hot, it can cause damage.

Cheaper motors and controllers might not have any over-current detection/protection, so try not to let the motors stall when driving. If they do (and trust me, they will), move the robot away from what’s causing it to stall or turn off the power to the motors as soon as you can.

It’s not always possible due to your budget, but if possible, buy a higher specification motor driver to have enough current overhead to cope with power spikes like this.

With encoders vs without

If you intend to drive in remote control mode only, or have sensors to detect your robot’s position relative to its environment, then you probably don’t
need encoders. Encoders let your robot know how fast each motor is spinning. This lets you compare that value to how fast you asked it to
to spin.

If you want to be more precise in your movements, an encoder will let you control your motor’s speed to help reduce the effect of surface friction. For example, if a “skid steer” robot spins on tiles, it will easily overcome the friction with the ground and spin freely.

Whereas, if it were on carpet, it would likely spin much slower with the same control input as it has to use some energy to overcome the friction with the grippy carpet. Encoders would let you know that your robot motors are spinning slower, so you could increase the power input to compensate for it.

Plastic vs Metal gears

This is normally a cost choice. Assuming you need a geared motor (highly likely), then you will need to decide on metal gears or plastic gears. Metal gears are hard wearing and can take more torque (punishment) and usually last much longer. Plastic geared motors are usually much cheaper, but won’t last as long in more difficult conditions.

Which motors to choose?

If you are building a very lightweight robot, you might be able to use these motors: yellow TT Motor from The Pi Hut:

Small robots need small motors such as these ones from Pololu

Medium sized robots need a little more power such as 20D metal gear motors.

Large robots need even larger motors such as these 37D metal gear motors.

The ‘D’ specifies the body diameter of the motor – 37D is 37mm.