This is the third installment in a continuing series on building a real robot. You can also read Episode 1 and Episode 2 if you haven’t already so that you can bring yourself up to speed.


In this installment of the Build a REAL Robot series, I will discuss selecting DC gearmotors, a critical component for your robot design. Even if you are not building the same robot that I am creating you should find some useful information here.

I will also show you what motors I ended up using to design DB1, and how I mounted them onto the chassis.

DC Gearmotors

There are a wide variety of motors that are available for the hobbyist, but not all of them would be suitable for moving a robot around.  A few possible selections would be:

  • Brushed DC Motors – These are inexpensive and easy to power and control, however, they spin much too fast. You could use gears to reduce the torque and increase the RPM, essentially building your own DC gearmotor.
  • Brushless Motors – These are pretty expensive but they do perform well. Like the Brushed DC motor you would need to gear them down to reduce RPM and increase torque. They also require special circuitry to drive them. One advantage of these motors is their long life, they are also very quiet.
  • Stepper Motors – You can get very powerful steppers that would certainly be able to drive a robot, and since you can control the shaft rotation is small increments they would be great for positioning the robot exactly where you want it to be.  The ride might be a bit rough as they don’t spin in a linear fashion, but using microsteps or gearing them down would resolve that. The main drawback would be the cost of these motors.
  • Continuous Rotation Servo Motors – You could build a small robot with these but they would not be very good for a large one. Essentially these are geared DC motors with a built-in servomechanism. The servomechanism would make it easy to position the robot.
  • DC Gearmotors – DC motors with internal gearing. Some of them have Rotary Encoders to measure the position of the motor shaft. These are the types of motors I have chosen.

Another reason to choose a DC gear motor is their relatively low cost, giving them a good cost-to-performance ratio.  They are widely available from many distributors.

Selecting Robot Motors

When you are searching for DC Gearmotors you will probably run across different gearing arrangements. The most common ones are Planetary Gears and Spur Gears.

Planetary gears offer better performance and reduced noise, this extra performance comes at a higher price however.

I chose to use Spur gearmotors. They are still very efficient and powerful and their lower cost appealed to me. I do admit they are a bit noisy but I wasn’t designing DB1 to sneak up on anyone so I’ll accept that!

You could substitute Planetary gearmotors in this design if you wish.

Key Motor Specifications

When you go to select a DC gearmotor you may find yourself overwhelmed by the number of specifications you need to wade through.  Comparing motors is often made more difficult as not every manufacturer uses the same units for each parameter.

You can’t just grab any motor, choosing the wrong one can be an expensive mistake that will halt your robot project before you even get started.

Here are a few specifications you need to take into consideration.

Nominal Voltage

Nominal Voltage

The Nominal Voltage is the voltage at which the motor is operating at peak efficiency.

This should not be confused with Operating Voltage, which is generally specified as a range from the minimum voltage required to turn the motor shaft to the maximum voltage that the motor can handle safely.

The ideal Nominal Voltage is basically determined by the power supply (or battery) that you plan on using to power the motors. Common values are 6, 12 and 24 volts.

All of the specifications for the DC gearmotor will be measured when it is driven by the nominal voltage

No Load RPM

No-Load RPM

The No Load RPM is the revolutions per second of the motor shaft when there is nothing attached to it.  This is sometimes referred to as the motors “angular velocity”.

With a gearmotor this is the RPM of the output shaft, not the RPM of the DC motor powering the gears.

Note the term “No load”, when you connect a gear, a wheel or other devices to the shaft the RPM will decrease.

This is an important specification as it determines the maximum speed that your robot can travel.  If you are using gears or pulleys in your design you will have to factor these into the equation for determining the No Load RPM.

Stall Torque & Stall Current

Stall Torque & Stall Current

Before you can understand Stall Torque you need to understand what torque is.  This is an extremely important specification as it essentially determines how powerful the motor is.

Essentially torque is a measurement of force on an object that causes it to rotate.  Think of when you go to open a door, you need to apply force to the door to open it, or in other words, rotate it on its hinges.

Torque can also be described as a weight attached to the end of a lever, which has the other end attached to a (motor) shaft. The further away from the motor shaft you place the weight, the more torque is required to hold it there. Similarly, when you increase the weight you require more torque to hold it.

The official SI unit for measuring torque is the Newton Metre, or NM.  However, when you go to choose a motor you are more likely to see it measured in one of the two following units:

  • kgf-cm  – Kilogram Force-Centimetres
  • ozf-in  – Ounce Force-Inches

Often when you see the specifications they are written (incorrectly) as “kg-cm” or “oz-in”, their meanings are identical.

The Stall Torque is the torque at which the motor shaft can no longer turn.  You should never actually allow your motor to come anywhere near this point, in fact you should design your robot to never require more than 30% of the Stall Torque.

The Stall Current is the amount of current that the motor will require at the Stall Torque point.

You don’t need to design a motor driver that can handle the Stall Current, in fact there are very good reasons not to do this. If the driver is capable of supplying enough current to power the motor at the Stall Current point you run the risk of damaging the motor if the shaft is accidentally held in place.  If it can’t supply enough current then you will never achieve the stall torque or current.

Of course a fuse is another way of ensuring that you never achieve the stall current.  We will discuss this in more detail when it’s time to hook up our motors.

Motor Size and Motor Shaft Specifications

Motor Sizing Tool

The physical size of the motor is naturally a specification you’ll need to consider. After all, if it’s too big you won’t be able to use it!

Another very important specification is the location of the mounting holes, their spacing and the thread size they use. You’ll find a variety of SAE and Metric measurements used here.

The diameter and length of the motor shaft are important parameters as well. When you are coupling your motor to wheels, hubs or gears you’ll need to take the shaft diameter in mind. Once again these specifications can be listed in either metric or SAE measurements.

Finally, you should note that spur gearmotors, like the ones I’m using in DB1, have an offset shaft. You’ll need to take that into consideration when mounting your motors.

Gear Down

Gear Down

Gearmotors (obviously) use gears to reduce the motor speed. Doing this accomplishes two things.

  • The output RPM is reduced to a manageable level.
  • The torque is increased.

The relationship between the speed reduction and torque is inverse, so gearing the motor to half of its speed will double the torque.

A good example of this effect is to look at those tiny yellow motors used in “robot car bases”, the type I’ve used in many project before. Despite their size they produce an impressive amount of torque. This is because they are geared down.

The Gear Down is the ratio of the gearing. The motors I’m using are geared down to 53, so the output shaft will spin at 1/53 of the actual motor speed.

One reason you might need to know the Gear Down is when you are using a rotary encoder to measure motor revolutions, as in many designs these encoders are coupled to the internal motor and not the output shaft. This is not universally true however.

Rotary Encoders

I just mentioned Rotary Encoders, these are devices that can measure the angular position of the motor.

A Rotary Encoder is essential to the design of DB1, as it will allow us to determine how fast the robot is travelling and how much distance it has moved. We can use this as part of a feedback loop to position our robot precisely.

You can buy motors with rotary encoders already built-in, this is what I did. You can also purchase these devices separately, if you sdo you should make sure to buy ones that are compatible with your motor.

Motor Selection Tool

All of the above may seem like a lot to consider when choosing a motor, and it is. It also doesn’t help if you don’t know the answer to some of the basic questions, such as:

  • How much torque will I need for my motors?
  • What RPM do I need?

Answering these questions can require some pretty complex calculations. And, once you find the answer, you may need to convert the units to compare different motors.

Fortunately, there is an easier way.

The RobotShop Community Blog has an excellent tool specifically made for selecting robot motors.  You will find their Drive Motor Sizing Tool to be incredibly useful.

Motor Sizing Tool

One of the great things about this tool is that you don’t need to know much more than the weight you want your motors to carry (the robot itself and any payload), the number of powered wheels and the size of those wheels.

The tool will also allow you to input and display parameters in several different units, so you can compare results for motors that use different units for their specifications.

Motors for DB1

Now that we have discussed motor specifications I’ll show you the motors that I choose for the DB1 robot.


I’m using two motors in my design and, with the assistance of the RobotShop Drive Motor Sizing Tool, I determined the desired RPM and minimum torque. I then chose motors that came closest to the RPM – a little higher is better than a little lower. They also exceeded the torque requirements, while not consuming a huge amount of current.

Motors used in DB1

I used a goBILDA 5201 Series Spur Gearmotor with a 53:1 gear down ratio.  This model has a no load RPM of 105 RPM, which is quite fast enough for my application.

Motor Mount

The Actobotics Aluminum Motor Mount E was what I used to attach the motor to the chassis.

The motor has a stall torque of 720 ozf-in and a stall current of 9.2 amperes. The no load current is 250 mA.

The output shaft is 6mm in diameter, I used a ¼“ to 6mm shaft coupler to attach the ¼” D-shaft I am using for my axel.

Gearmotor with Wheel and parts

On my wheel I used a hub with a ¼” D-shaft bore.  I’ll go into more details about mounting the wheels in the next installment of this series when I discuss wheels in depth.


This completes part three of the series on building a real robot. I hope it inspires you to build your own robot, be it an exact replica of DB1 or a completely different and unique design.

If you haven’t read part 1 or part 2 yet you can go back and catch up. Next time I’ll be discussing wheels, not exactly the most thrilling subject but an essential one for making a good reliable robot chassis. After that, we will start adding some electronics to make it all move.

Stay tuned!

Build a Real Robot – Part 3 – Selecting Motors
Build a Real Robot - Part 3 - Selecting Motors
Article Name
Build a Real Robot - Part 3 - Selecting Motors
In part 3 of the series on building a real robot, I will show you how to select motors for your robot. I'll also introduce you to an online tool that will make the job a lot simpler.
Publisher Name
DroneBot Workshop
Publisher Logo
Notify of

Inline Feedbacks
View all comments
Scott Morgan
4 years ago

This build series is going to be very helpful to those of us who have the desire to put our imagination to work, but lack one or more of the TECH skills required. Many of the students I have in our model RR club tend to get hung up on a thing or two and fail to keep essential interest in completing the project at hand. Your videos have been a great help getting projects with the boys rolling again. You get an A+ for the DC, servo, and stepper motor series. I like your idea of doing videos on… Read more »

Doug Durdin
4 years ago

Hi Bill. You gave a link for a 1/4″ D-Shaft for the axle. When I go to that link they want to know the length of the shaft. What is the length that you are using?
This series on building a real robot is excellent. The robot that I’m building is almost a copy of what you are doing. I will be using expanded PVC instead of acrylic. My tools are more limited then yours and I find expanded PVC easier to work with. Thanks.

Doug Durdin
4 years ago

Thanks Bill. I’ve got the base built and the motors attached. Looking forward to Thursday’s presentation on wheels.

4 years ago

Hi Bill, you calculated an RPM requirement of 188 through the online drive motor tool. The motor you selected has an RPM of 105. Shouldn’t an RPM of 188 be a minimum requirement? thanks!

Steve Garrison
4 years ago

In your parts list you have 3 inch D-shaft parts for the Omni wheels (part 634078); Which is the better? In episode 7 you added 1/8″ hub spacers. Was that on all 4 wheels? If so maybe the 3″ D-shafts are better.

4 years ago

Thanks for the interesting videos. I have never really gotten into robotics. Several years ago I built a inexpensive kit from sparkfun. From there, I took a look at ROS and decided that it was not worth the effort.

The experimentation platform you are describing looks like a nice balance between the two. Just ordered a ftc-competition-kit from servocity. That looks like a good selection of components at a reasonable price to get started on a high quality prototype.

Looking forward to building along with you.

4 years ago

Hi, Great job with the videos, I learn so much from them. I have a question with regards to torque. On some motors I see only stall torque while on other motors I see both stall torque and rated / nominal torque. As we are never supposed to reach the stall torque and the difference to the rated torque is quite noticeable (rated = stall / 4 in below example), I’m curious which measurement is more practical and why some motors don’t have the rated one. Your motor: – stall torque: 720 oz-in – rated torque: ? Other motor (e.g.… Read more »

4 years ago

Great work! I am currently writing blogs to teach beginners especially the students how to build a simple mobile robot too. Your videos gave me more ideas and insights on how to build a robot.

Greg B
4 years ago

My classmates and I have been looking for motors for the senior project we are working on, we cannot find brushed DC motors that would be able to handle our torque requirements, and we won’t be using stepper motors. Do you have any resources for finding something to use for this project? I can give you our torque requirements if you need it. Thanks for your guides, they are helping us a lot.

Yogesh Talekar
4 years ago

Hi, Thank you very much for this amazing initiative. I am trying to collect the materials/parts you have used. I see you are using goBILDA 5201 Series Spur Gearmotor with a 53:1 gear down ratio. I am not able to find those exact models in India. I have shortlisted these two motors as i am fine with slower RPM and high torque. But still not sure which one of these would be better. (One has precision encoder while other has quad encoder). Please help me to choose one so that I can just copy your motor control design to continue.… Read more »

2 years ago

love the websight very informative

Drew Hardy
2 years ago

Same here new in c++ Nowadays I prefer to study and use many tools and apps. For example, read about data analytics in hospitality industry and think about the design of interface of future digital product. Such apps help me a lot to improve my skills.