Select the Right Battery for your Robot DC Motors – Part 1 of 2

This blog has two parts. The first part provides basics of DC motors and batteries, the second part outlines how to select the motors and batteries.

This is the first part. To jump straight to the second part where I show how to calculate battery power requirements for your evil robot, click on Part-2

Every robot enthusiast wants to build something that is moving…more or less…

In a large number of cases, while we get everything right in terms of the electronics, circuits, interfaces, control software, we generally end up with one problem that we did not think before….how to power my motors that make the robot move?

Select Battery for Robot DC Motor - Various Types of Batteries

Select Battery for Robot DC Motor - Various Types of Batteries

I may be wrong in generalizing the situation, but it has happened to me when I started building robots, and have seen a lot of other folks getting into this situation. You build everything right, tested everything with your power adapter and when the batteries were connected, the robot either refuses to move or the batteries die too soon.

I’m not yet an expert and am still experimenting with the batteries, but, I guess, based on little successes that I have, I decided to write this down for others who might benefit and I might also learn a thing or two from other experts who can point me to the right direction after reading this blog.

Before we begin, let me make myself clear, this blog talks about DC motors (geared or non-geared). We are not talking about servos, steppers etc. The principles are still the same though.

This blog is divided into the following sections:

  1. Basic DC motor specifications that you need to consider [Covered in part 1]
  2. Basic battery specification that you need to consider. [Covered in part 1]
  3. Different types of batteries. [Covered in part 1]
  4. Matching motor with batteries. The mathematics. [Covered in part 2]

Basic DC Motor Specifications

DC motors for robotics come in many variants. Two most common are geared and non-geared motors. In simple terms, geared motors have a gear mechanism that slows down the motor speed and increases the torque. Thus, some standard RPM values that I get inIndiaare 60 RPM, 100 RPM, 150 RPM, 200 RPM etc.

The other motor is plain and simple non-geared one. It’s just the motor running at its full speed at rated voltage and current.

Whatever is the variant, when you have a DC motor, from the perspective of powering the motor, you need to consider the following specifications:




Voltage Rating The voltage range that the motor is designed to operate. Within the range you can select a voltage value that suits your needs best. 3V – 12V Meaning, motor can be powered by a source with a voltage value between 3V and 12V. Thus, 4.8V, 7.4V, 9.6V are all valid values
No Load Current The current drawn by the motor when its running free with nothing connected to the shaft. (For small motors, when you hold them in the hand and the shaft is not yet connect to the wheels, propellers etc).This indicates the minimum current your power supply must be able to provide in order for the motor to turn. 50mA This is a single value indicating the minimum required current
Stall Current When you increase the load on the motor shaft, at some point of time, the motor shaft will stop turning. This is called motor stall. The current drawn by the motor in this state is called the stall current. Please note, this is also the maximum current that will be needed by the motor 300mA This is a single value indicating the maximum required current from the source
Power This is generally given in “Watts”. In a large number of cases, I have seen that the watt rating is not specified. That should not be a problem as long as we have the voltage and current ratings. The power rating can itself be derived in simple terms as:Power = Voltage x CurrentThus, theoretically, a motor driven at 5V with 100mA of current draw, is giving 0.5Watts of power (or for a resistance, this would be the power dissipated as heat)Alternatively, the power delivered is 0.5 Joules/second. 1 Watt This is a single value at specified voltage and current rating, or a value indicating the maximum power.
Torque This is an indicator of how much weight the motor can lift at a given distance. If the rating is 1Kgcm, it means, that 1 cm from the shaft, you can attach a maximum of 1Kg load and the motor can lift it. 1Kgcm A single number. More on this in the calculation/mathematics section

Basic Battery Specifications

In the section above, we learned the very basics of dc motor specifications. Now let’s look at what battery do I need to run them. Please note, one of the variants is BLDC (Brushless DC Motor). We will not cover that here. It’s a different subject all together and someday, when I have experimented enough, I’ll write about it.

The table below outlines the battery specifications that we need to keep in mind:




Voltage Rating The voltage a new battery is expected to deliver 1.5V Standard alkaline batteries (e.g. Duracell AA)
Current/Capacity Rating The maximum amount of current a battery can deliver in one hour. This is a very confusing specification. Suppose a battery is rated at 1500mAh. That means, it can deliver 1500mA in one hour. However, that is not entirely true. The rating is defined by the manufacturer after testing it at a different rate. For example, during testing, manufacturer can discharge a battery at a rate of 150mA per hour and if the battery lasts for 10 hours, you get a rating of 1500mAh 1500mAH Meaning, 1500mA current can be delivered over a period of one hour
Discharge Rate This indicates what is the maximum current a battery can deliver (remember, current/capacity rating is how much capacity is stored in the battery)A 1C rating means, the battery can discharge at Capacity x 1. 1C, 2C 20C Consider the battery capacity as 1000mAh. A 1C rated battery will give a maximum current of 1000mAA 20C rated battery can discharge upto 20000mA current.
Weight This is not available for all battery types. Mostly, I have seen LiPo batteries have weight specified, others do not specify that. 120gms(For a typical 3S1P LiPo cell)

Different Type of Batteries

When I started reading, I was inundated with the types of batteries available. What became the driving force behind listing the batteries below is ease of availability, most-common scenarios and cost.

The table below outlines some batteries that are common in hobby robotics. The specifications are “typical” and you should look at the manufacturer datasheet to get the exact numbers:



Voltage Rating of Single Cell

Current/Capacity Rating

Discharge Rating

Typical usage/Comments

Alkaline(Non-Rechargeable) 1.5V AA – Around 1000mAH 0.1C – 1C – Very small robots (1 or 2, 3V motors)- Very cheap

– Readily available

– Don’t last long

AAA – Less than 1000mAH 0.1C – 1C
C – Around 2000-2500mAh 0.1C – 1C
D – Over 2000mAH 0.1C – 1C
9V Varies, 50-500mAh 0.1C – 1C Not good for any robotics motor driving application
Ni-MH(re-chargeable) 1.2V Varies. The ones available in local shops range from 750mAh to over 3300mAh Around 1C -Readily available-Costly

-Lasts long

-High capacity

-Easier to charge than LiPo

Once you have tested with alkaline batteries, try these

SLA(Sealed Lead Acid) I do not use it for hobby robotics. Too heavy for home built robots.
Li-Ion Cellphone batteries 3.7V Varies. The ones available in local shops range from 750mAh to over 3000mAh(Look inside your cellphone) 0.1C – 1C -Readily available in cellphone shops-Very costly

-Lasts long

-High capacity

-Easier to charge than LiPo

-Very low weight (Lower than NiMH)

Go for these when there is a special need (e.g. weight)

LiPo 3.7V Varies. The ones available in Indian online shops range from 1500mAh to over 10000mAh 1C – 30C -Only available in specialty shops (dedicated to RC, robotics)-Costliest

-Need another costly charger

-High maintenance

-A bit dangerous. Not for even intermediates

-Very high capacity

-Need special controllers called “ESC” to control BLDC motors.

-Always used almost exclusively with BLDC(You can though use it with other motors)

To summarize, you should start with alkaline batteries (a large majority of websites say not to use them, but I disagree. They have a place in robotics history!) for small to medium size motors.

Once you have a hang of it, see if you can work with NiMh. Go for LiPo batteries only in extreme cases. If you can build your mobile platform with alkaline or NiMH, you have gained expertise 🙂

Disclaimer : You bear the risk of anything unexpected…don’t blame me! You cannot build a NASA robot with these. The values are only rough approximations


56 thoughts on “Select the Right Battery for your Robot DC Motors – Part 1 of 2

  1. Pingback: 1 Volt 500mah 10c

  2. Almost all I can comment on is, I am not sure what to comment! Except of course, for the amazing tips that are shared on this blog. I will think of a trillion fun tips on how to read the articles on this site. There’s no doubt that I will eventually take a step making use of your tips on those things I could never have been able to touch alone. You were so clever to allow me to be one of those to learn from your practical information. Please recognize how great I am thankful.

  3. Pingback: How to build your first mobile robot platform « Vishnu's Blogs

  4. Pingback: Batteries | Raspberries and other fruits

  5. Pingback: Powering the mobile robot | LYNX

    • If you have two 6V motors that you need to drive, using batteries, your voltage rating is fine. What you need to calculate is what is the current required by the motors. After that, choose a 6V battery with appropriate current rating and capacity as required by your motors

    • There are two things:
      1. I ran the BO DC Motor without any load by a 9V battery – This is incorrect. The DC motor itself presents a load. Without any torque, it will take very little current, but inrush current could be high. This should not be a too big issue.
      2. Your robot not going straight could mean many things, a few of then are:
      a. You have not balanced the wheels (vertical/horizontal)
      b. Your entire platform is not balanced (see
      c. Your motor control code is not right
      d. One motor is moving faster than the other. The speed control is not correct

    • As stated in my blog, a 9V battery is nothing more than multiple small batteries placed in series to produce the voltage. they do not have enough capacity in terms of current. You should not use 9V batteries for your robot. I was using them 15-20 years ago with batteries that I scavenged from tape recorder motors (sony walkman) !

  6. Pingback: Arduino (IoT): Fuentes de Poder en Robótica: Parte I – Santiapps – Arduino (IoT), iOS, Android & Glass

    • The link is not opening right now. But as stated in the blog, 9V batteries are not good for any robotics motor driving application. They have too little current capacity and discharge rate. Read the specification of this battery and decide based on the current capacity and the discharge rate. Just a blind guess (as I cannot open the link), this will not work.

  7. I want to run ~12v ~4.5Ah submersible dc pump(i.e. brush motor) can I connect it directly with 11.1 V lipo battery of 5200Mah(as ESC is used for brushless dc motor)

    I can’t use adapter to run that motor as I am using it for quadcopter also I can’t use rechargeable 12v battery as they are heavy.

    • This is a pump, meaning, the motor is embedded inside this pump and sealed (since this is submersible). Not sure how you plan to use this in your quadcopter. Anyways, the specs of this motor are missing. It only states 12V DC and in the Q&A section, the seller states use a 7AH battery. With 11.1V Lipo, you should be fine. What you really need to know is how much is the peak current and is your batter able to deliver the peak current. The 7Ah is capacity (e.g. if you draw 7A, then battery will run perhaps for 1 Hr). Find out how much is the peak current. For example, if the motor peak current is 10A and your battery can only provide 5A, then perhaps its no good. Ask the seller for the datasheet of the pump and the motor. That is the best way.
      The product description states : 8Vdc-12Vdc Rated voltage: 12Vdc Working current: 0.1A-0.5A. So as stated before, 11.1V should be fine. However, nowhere it states that this contains a BLDC motor. So you may not get the required power for your quad. For quads to work, you need BLDC.

    • I guess you meant you have a 10V DC motor. I’m afraid, this is not enough information to decide what battery should you be using. You need to go through the calculation to decide what is the current rating. Only then you can decide what kind of battery to use.

    • You need more than this to decide on which battery to use. Please read through Part 2 to know how much capacity and power is required. Based on that, take a decision on what is the battery capacity requirement. Generally, I guess it could fall in alkaline or Li-Ion battery category.

  8. If i use 36 voltage battery with capacity 4400mAH and 12 voltage motor with 250W power will it burst the motor or motor will smooth run

  9. I have a 4kW brushed DC motor with a rated Voltage of 48V and rated Current of 75A. What battery should I use?

  10. sir, i have Dc motor which is the voltage range is 6-12volt and rate 0.5-0.7A currrent, what battery should i use?

    • You need to look at a minimum of two conditions that will give you lower/upper limit of the current. You need to look at “no load current” of the motor to tell you what is the minimum current requirement and then,”stall current” of the motor that will tell you what is the maximum current. Choose a battery whose voltage matches the voltage rating of the motor and the battery should have a discharge capacity of at-least (thumb rule), 1.2 times the stall current. If you design your system in such a way, that the motor never reaches the stall condition, then you can chose a battery that can provide at-least 1.2 times the maximum current requirement of your system.

      • im still not understand :(, can you give an example of my case, i really need your help for my project

      • Check motor datasheet and see what is the stall current. Your battery should be able to discharge that much current plus additional safety factor.

  11. sir, i have dc motor 6-12volt and the current rate 0.5-0.7A but i dont know the RPM value, how to calculate RPM manually?

    • Well, build a small encoder and you can calculate the RPM. Attach a disk, slit a hole and on both ends, get an IR receiver/transmitter. Everytime the disc rotates and the hole aligns with the LEDs you will get a pulse.

    • Please look at the following motor specifications (at minimum):
      1. Motor operating voltage
      2. Motor stall current
      3. Motor operating current

      Next, the battery must be able to discharge the operating current and your design must prepare for stall current.

      If the motor and battery specifications match, you can proceed.

    • For 12V DC motors, you need 12V battery. Additionally, you need to check how much current the motors need and your battery should be able to provide that much of current and maybe 20% more to account for tolerances

  12. sir , i am not electronics expert . I am making a robot which will work with raspberry pi . I have two DC motors ( 100 rpm ) . I want to power both ( rasp pi (take 5v ) and motors ) by power bank (o/p – 5V , 2.1 A) . Will it work ?

    • As stated in part 2 of the blog, you need to find out how much current is required by your robot. Additionally, Raspberry Pi unfortunately, literally “drinks” current. If you see RPi data, it states that you need a 5V/2A supply for it to run properly. This is one of the reasons, I do not use RPi is a lot of my projects – its too power hungry, even when very few peripherals are connected. Thus, without knowing weight and other details of your robot, it is difficult to say anything, however, given that you are using a RPi, a 5V/2A battery supply will work, but it will not last long enough.

    • A motor that delivers 300W at 24V can extract currents upto 12A. You need to know what is the stall current and what is the startup current. These two values could be higher than the steady state current. Your battery must be able to deliver at-least 20% more than then highest current drawn by the motor at the specified voltage. If you have two motors, and want to run them on a single battery, then battery must provided double the current required for a single motor at the specified volatage.

  13. I am making a four wheel bike, I have a 24V 300W motor and a motor controller fit for this motor, I have a Li-ion ion 24v 12.2Ah/292Wh the output is 21v-29.4/ Max 13A, input: 29.4V/ max 3.5A. When I connect all the wires my motor “jumps” (runs for not even 2 seconds thens tops). Is there something I could be doing wrong, or is my motor and battery partnering wrong. When I connect the Battery and motor input to input with out and connection pieces, and no motor controller the motor runs perfectly. What could the problem be??

    • Very difficult to say what is wrong with this limited information. A few things you can check are:
      1. You probably have only one motor I guess. Have you checked how much starting current it needs? Is the battery able to discharge that much current. (the battery C rating)
      2. Are your motor wirings via the controller correct? Is there a short?
      3. Is the motor stalling? Meaning, it is not able to drive the load.

  14. I am doing a line follower robot and have a two DC MOTOR( 12V 1000 Rpm). Which i use the power source(battery…) ?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s