We have seen many makers face difficulties in choosing a right motor for their mobile robots as well as automation projects. Many of them are not from the mechanical engineering background hence the calculation of torque, gear ratio and the motor power appear so unfamiliar to them.

This article summarized the 6 most fundamental knowledge about DC motors that hopefully would be able to help the newbies to select a right one for their projects.


It is good to know that you have an option to use the AC motor if it fits your application.

Power SourcePowered by AC power sourcePowered by batteries or DC power source
ControlDifficult to control the speed and directionEasier to control the speed and direction
SizeUsually in bigger sizeThe smallest DC motor can be as small as your fingertip
ApplicationSuitable for stationary application or where longer operating time is required such as fan and sewing machine.Suitable for mobile application such as car where we are unable to get AC power source.

Conclusion: If you are building a project that requires battery and/ or mobile operation (such as a mobile robot or drone), then DC motor is the best option.


There is numerous type of DC motor in the market but the most commonly used are brush motor, stepper motor and servo motor. Let’s have a quick glance at the major differences of these DC motors from the table below.





CharacterThe most common and easiest to use. It will rotate continuously if power is supplied.Stepper motor is a motor that moves in discrete steps, one step at a time.By definition, a servo motor is a motor with closed loop position/speed control.
ControlThere are 2 wires from the motor, connect one wire to the “+” terminal of the battery and another wire to the “-” terminal. Reverse the polarity will cause the motor to rotate in the opposite direction. If you wish to control the motor’s speed and direction in a more efficient way, you need an external motor driver.There are 2 types: bipolar (4 wires) and unipolar (6 wires). You are unable to connect these wires directly to a battery, instead, you will need a stepper driver to drive the stepper motor.Usually, there will be more than 2 wires from the servo motor. The main 2 wires (usually thicker) are to provide the power source and the remaining wires are to provide the position signal to the controller.
ApplicationFor general application such as a mobile robot where you need to move forward and backward or pulling a string to a certain limit. The accuracy of the rotation is not critical.It can achieve very precise positioning. For this reason, stepper motors are recommended for precision motion control applications such as 3D printer machine.RC servo is used to control the engine throttle of a RC car. While the industrial servo is used to drive the robot arm. In both cases, real-time monitoring in position and direction of the motor rotation is critical.


Robot vacuum cleaner

Car’s power window


3D printer


Industrial robot arm

Humanoid robot


Before we proceed, it is good to learn some basic knowledge about the gearhead attached to a motor.

The ordinary DC brush motors without gearhead produce very high RPM and very little torque. You can see the video below, although the motor rotates at a very high speed, it stops immediately when we try to touch it using our fingertip, means the torque is very low.

To solve the problem, we attach a gearhead at the same motor to reduce the speed of the motor and at the same time increase its torque. As you can see from the video below, the motor rotates slower and we are unable to stop it using our fingers.

How does it work? From the video above, you can see that the speed of the first gear rotates very fast and it gets slower by the gears and finally produced an output that rotate slower and produces higher torque at the same time. You can learn in details how the gear train works: https://www.wikihow.com/Determine-Gear-Ratio

4. Torque and RPM

Torque and RPM (revolution per minute) are the most important and the common specifications of the DC motor. We need to estimate the torque and RPM required for our application to decide which motor to use.

Torque is a measure of how much force we need to rotate an object. The common units of torque are “N.m”,  “oz-in” and “kgf.cm”.

Torque = Force x Distance

From the example above, the minimum torque required to at least hold the 5Kg’s load is

Torque = Mass of the load (in Newton) x Radius of the pulley (in meter)

= 5 x 9.81 x 0.1

= 4.905 N.m

RPM is a common unit to measure the speed of a rotating object. How many rotation it can achieve in 1 minute (60 seconds). Assuming the motor is rotating at a speed of 10RPM, means the pulley is able to rotate 10 x 2 ? R = 10 x 2 ? (0.1) = 6.28 meter of string in 60 seconds.

5. How to calculate torque and RPM for a Mobile Robot?

To calculate the torque and RPM required for a pulley system is straightforward, but how about a mobile robot where you have more parameters to consider?

Image Credit: DF Automation

We need to consider the number of motors we use, the motor efficiency, the size of the wheel, robot’s acceleration and the incline degree. Please refer to the equation below to calculate the motor’s torque of a mobile robot.

To make life easier, I have simplified the formula by giving some assumption where most of the mobile robot should applied:

Where you only need to key in the total mass of your robot in Kg, radius of the wheel you use at your motor in meter and the numbers of motor on your robot.

*Note: Most of the motor efficiency in the market is 65% and I assumed the maximum incline required for your robot is 20° which should be sufficient enough to move through some small bumps. If you wish to change the parameters, you can use the motor sizing tool provided by RobotShop. 

The answer from the above equation will be in Newton meter (Nm), you can convert to other units using the online converter

To calculate the RPM required by the motor, you need to apply this formula.

*Note: Distance and radius in meter (m) and time in second (s).

6. Safety Factor

In engineering design, we usually apply a reasonable safety factor to compensate the unknown circumstances in the real world environment such as the friction between the wheel and the ground.

A safety factor of 1.5 means we are using a 50% larger motor than our original calculation. The larger the safety factor the safer it is for the selected motors to work for your project. However, it also means your design is not “efficient”. A bigger motor also means more expensive and higher load to your robot which will consume more energy. Imagine you are using a super huge truck just to carry a few basketballs, it doesn’t make sense at all. In short, you need to provide an optimum safety factor for your motor selection.

From my personal experience, safety factor between 1.3- 1.8 is considered a safe play provided there is no mistake in your calculation. Also to take note that the motor’s weight is within your weight constraint. Now, you should have your calculated’s torque and RPM ready and you may start to choose the motor you want to use. Again, I have personal experience on how painful it is to compare the motors’ specification page by page, the missing info and the ununiform of the motor specs, all of these are such a time consuming and dull process. So I have spent some time to list down all the DC motors Cytron is selling according to the motor weight, torque and RPM. Hope it helps.

Final Tips

If, somehow your system is uncommon and you are unable to apply the equations given above to estimate the torque and RPM. Don’t worry, you still can use your common sense to ‘guess’. Yes, guessing is the last thing you can do and it is not something wrong at all as long as your project is able to work.

Bigger motors produce higher power, either high torque or higher speed or both.

We need to start ‘guessing’ for the speed you required because it is easier. Let me give you some guides. 

The drone’s motors spin at >10K RPM

Volleyball’s feeder works at 1000-2000 RPM

Conveyor belt’s motor usually rotates at 60-20 RPM

Typically, RPM > 10K considered extremely fast, 500- 50 RPM is the normal range of speed for most projects.

Once you got the RPM, then you can choose the motor size and weight. In most cases, the motor size and weight are one of the important specifications to consider too. I would suggest you to go for the biggest permission size to give more allowance to the motor torque.

I hope this article helps. In case you have any questions or found any mistakes from the article, please feel free to leave your message below.

5 thoughts on “Choosing a DC Motor”

  1. Proton wira and saga’s power window motor are very common in the Malaysia market. I believe there are some differences in the spec for different car models but I am not too sure how much difference. For Cytron’s carried power window motor, the specs are from the manufacturer so should be valid.

    Yeah, we tried to drive it with 24V too, the speed and torque increased but the motor’s lifespan reduced significantly. It won’t blow, don’t worry. hehe

  2. Do you know, there are any differences between common used, proton wira power window and others brand power window? especially in its RPM and Torque?

    Some robot require high torque, so I usually choose power window as the driving motor. and I put 24v to each motor to give a better drive and the motor never blow up. Haha

Leave a Comment

Your email address will not be published.

Share this Tutorial

Share on facebook
Share on whatsapp
Share on email
Share on print
Share on twitter
Share on pinterest
Share on facebook
Share on whatsapp
Share on email
Share on print
Share on twitter
Share on pinterest

Latest Tutorial

BLTouch Installation for Ender 3 with 32-bit V4.2.2 Board
Pick and Send Random Meal’s Option and Locations through Telegram Bot Using Grove WiFi 8266 on micro:bit
DIY Automated Vacuum Cleaner Using REKA:BIT With Micro:bit
Rainbow Spark in Mini House using Maker Uno.
TinyML on Arduino using Edge Impulse
Tutorials of Cytron Technologies Scroll to Top