As you venture into the world of Arduino, robotics, and automation, sooner or later you will find the need to power your Arduino from a battery.
Whether you are building a robot, a quadcopter, or any other type of vehicle, or if you want to keep a monitor connected to record temperature, or electrical consumption, among many other examples, the truth is that you will not always have a cable to power your Arduino. In these cases, and especially in the case of vehicles, we will need to provide batteries for our project.
On the other hand, our batteries should not only supply power to Arduino. In projects with batteries, we must study whether they are suitable to power the rest of the components of our project, such as motors, servos, and sensors.
We have a wide range of options for powering our projects with batteries. In this entry, we will review the main ones, indicating the advantages and disadvantages of each, so you can choose the one that best fits your project.
How to power Arduino?
Before looking at the options we have for powering our project with batteries, let’s summarize the two main points by which we can power Arduino.
In general, we can:
- Use the built-in voltage regulator on the board.
- Apply a regulated voltage directly to the board’s nominal voltage.
Use the voltage regulator
All Arduino boards come with a voltage regulator. This regulator has a small voltage drop, so we need to provide a voltage of at least 6V. Below that voltage, it is most likely that Arduino will turn off.
On the other hand, the higher the voltage, the more heat the regulator must dissipate. It is not recommended to apply more than 12V to the regulator because it represents excessive stress. Providing more than 20V will damage the regulator immediately.
Apply a regulated voltage
We can also apply the nominal voltage (5V or 3.3V, depending on the model) directly to the board without using the regulator. In other words, we can supply 5V to the 5V pin of Arduino. For example, this is what we do when we power Arduino via USB.
In the case of applying voltage directly, the power supply we use must be regulated to the nominal voltage with a high degree of precision. A variation or peak in voltage will damage Arduino, as we are not using the voltage regulator.
In summary
In summary, to power Arduino we can:
- Apply 6-12V to the jack plug available on Arduino UNO, Mega, among other models
- Apply 6-12V between the GND pin and the RAW pin (Vin pin on Arduino Mini)
- Power via USB
- Apply 5V (regulated and stable!) to the 5V pin (3.3V on certain models)
For more information on power limitations in Arduino and entry points in different models, check the entry Arduino Pinout Diagram.
Options for powering Arduino with batteries
Now that we have seen what options we have to power Arduino, we can look at the various solutions we have to power our projects with batteries.
A 9V battery
Using a 9V battery is one of the most common options, especially for beginners and in small projects. The 9V voltage is appropriate for powering Arduino.
They have the advantage of being easy to find and use. Additionally, there are available cables and battery holders, which even include an Arduino-type jack connector, making them easy to use.
As disadvantages, 9V batteries have low energy density. A battery typically has a capacity of 500-600mAh. Moreover, they provide a maximum current intensity that is very low, around 300mA, useful only for small projects.
On the other hand, 9V is an inadequate voltage for most actuators. It is excessive for most DC motors and servos, while it is not enough for large brushless and stepper motors, which operate at 12V and also require much more intensity.
The price is low, but they have the significant disadvantage of not being rechargeable devices, which, combined with their low capacity, makes them not economical in the long run.
In summary, a good option for small setups or simple tests, but it quickly falls short in characteristics, so we will require superior options.
4 AA batteries of 1.5V
Using four AA batteries in series, providing a total of 6V, is another simple and widely used option in small projects and beginner projects.
We can easily find battery holders, cables, and other solutions to incorporate four AA batteries as a power source in our projects.
AA batteries have the advantage of being easy to find. Additionally, the 6V voltage is perfect for powering DC motors and servos.
The capacity is higher than that of 9V batteries. Four standard AA batteries provide 800-1500mAh, while using alkaline AA batteries the capacity is 1700-2800mAh.
The maximum current we can obtain exceeds 1A, reaching up to 2A. But we must keep in mind that due to discharge curves, the amount of charge we can draw from the battery decreases the faster we drain it.
The price of the batteries is cheap, but since they are not rechargeable, in the long run, they are not economical.
In summary, another simple option, suitable for small projects and robots.
5 rechargeable AA batteries of 1.2V
Similar to the previous case, but this time with rechargeable batteries. We can use NiCd (obsolete) or NiMh batteries. The voltage is slightly lower, 1.2V per battery, so we will need 5 batteries to achieve 6V.
Similar to the previous options, we can easily find battery holders for 5 AA batteries, as well as all sorts of accessories and cables to connect easily to Arduino.
Rechargeable AA batteries are easy to find, but they are more expensive than non-rechargeable batteries. We must also consider the need for a charger. Nevertheless, these extra costs are quickly offset, making it more economical than buying batteries constantly.
The capacity of rechargeable batteries is also somewhat lower than that of non-rechargeable batteries. NiCd batteries have a capacity of between 500-1000mAh. NiMh batteries have capacities ranging from 600-2500mAh.
The maximum current is similar, approximately 1A sustainably, which is sufficient for small projects and robots.
Therefore, using 5 rechargeable NiMh batteries is the recommended option for small projects, which do not require high electrical intensity or capacity, but that we will use frequently, making it worthwhile to use a rechargeable solution.
2 Lithium 18650 batteries of 3.7V
18650 lithium batteries are known for powering flashlights and handheld lasers. Although they are not as well-known as a power solution for Arduino, they are actually a great option to consider.
Two 18650 lithium batteries in series provide 7.4-8.2V, which is a perfect voltage for powering Arduino. We also find battery holders that allow us to easily incorporate these batteries into our projects.
18650 lithium batteries have the advantage of providing a high charge capacity. High-quality batteries provide up to 4800mAh. (“Chinese” batteries offer much higher capacities, although they actually deliver between 1500-2500).
They provide a discharge capacity of between 1C – 2C, depending on the models. This means a maximum current of up to 10A, although for safety, it is not advisable to drain more than 2-4A without being very sure of the quality and characteristics of your battery.
Of course, 18650 lithium batteries are rechargeable. Although a special charger for 18650 batteries is required, they are cheap and pay off quickly.
As disadvantages, they are a somewhat more expensive option than the previous ones, especially if we buy good batteries (which is recommended). Additionally, their handling should be more careful, as the improper use of lithium batteries can be dangerous, causing overheating or even fires.
On the other hand, the voltage is somewhat high for DC motors and servos, although we can reduce it by inserting a couple of diodes, which will also serve as additional protection for the batteries.
In summary, a more advanced option than the previous ones interesting for medium-sized projects and robots, with higher capacity and current requirements.
USB battery banks of 5V
Using a USB battery, like those used to extend mobile battery life, is an interesting option to incorporate into our projects.
They have the advantage of providing regulated 5V, so we can power Arduino through USB, without worrying about the need to regulate the voltage.
Many of these banks, in fact, incorporate a single 18650 lithium battery, along with a small circuit that boosts and regulates the voltage to 5V. In these cases, we can even swap one battery for another, using the same case, while we charge the discharged battery.
The 5V voltage is suitable for powering a wide variety of components, such as DC motors, servos, as well as a large number of devices (sensors, LED strips, displays…).
These banks are, of course, rechargeable. The energy capacity is high, with banks available up to 17,000mAh (although again, do not fully believe the capacities stated in advertisements).
As a disadvantage, it is a somewhat expensive option compared to other available options. Additionally, the maximum current is low, typically below 2A, which makes it unfeasible for large projects.
In summary, a USB battery bank is a good mobility solution, as a battery to carry around that allows us to make tests and setups easily (and much better than a 9V battery).
It is even an option we could consider for medium-sized projects and robots, as long as we can repurpose and rotate the same battery between different projects to make the most of its cost.
Nickel-metal hydride (NiMh) batteries
This is the first “pro” solution we propose. It is similar to the case of NiMh AA batteries but integrated as a single battery of various sizes, with connectors.
NiMh batteries generally have 5 cells with a voltage of 6V, or 8 cells with a voltage of 9.6V. The 6V 5-cell batteries are excellent for projects and robots with servos and DC motors.
NiMh batteries have a medium-high energy density. We can find batteries with capacities ranging from 300 to 5000mAh, with moderate weight.
NiMh batteries can provide a considerable amount of energy. Depending on the quality of the model, they can provide between 3-4C, which can mean up to 15A in the case of large batteries.
On the downside, NiMh batteries are relatively expensive, and they also require the use of a special charger, which is also costly. The required connections and cables for high currents also increase the costs of the setups.
NiMh batteries are suitable for medium and large projects where high capacity and medium currents are required, especially in those that use servos (robotic arms, hexapods, biped robots), since the 6V voltage is ideal.
Lithium Polymer (LiPo) batteries
Lithium Polymer (LiPo) batteries are the most advanced option for powering our projects.
LiPo batteries come in various voltages, depending on the number of cells. Thus, 2-cell (2S) LiPo batteries provide 7.4V-8.4V, and 3-cell (3S) batteries provide 11.1-12.6V. Both voltages are suitable for powering an Arduino.
2S batteries (7.4-8.4V) can be used to power servos and DC motors, although it is somewhat excessive voltage and should be reduced to around 6-7V. 3S batteries (11.1-12.6V) are suitable for driving large stepper motors and brushless motors.
LiPo batteries have the highest energy density of the options presented. We can find batteries with capacities ranging from 500 to 5000mAh.
Additionally, LiPo batteries have the advantage of providing enormous intensities. It is possible to find batteries rated at 20-25C, which translates to discharge intensities of 50 to 100A, required by the largest motors.
LiPo batteries are also the most expensive option, although being rechargeable makes them economical in the long run, especially considering their electrical characteristics.
The biggest disadvantage of these batteries is the difficulty and care needed in their use. Improper handling of a LiPo battery can be extremely dangerous, due to the large amount of energy they store.
Charging these types of batteries must be done using special chargers, and they should not be left unattended during the process. Even the storage of these batteries must be done under controlled conditions.
In summary, LiPo batteries are the most powerful solution for powering our projects, but the handling and charging requirements make them suitable only for advanced users and complex projects, such as large robots, quadcopters, and other types of large vehicles.
Conclusion
We have reviewed different ways to power Arduino with batteries. It is advisable to opt for a rechargeable solution because in the long term it is more economical.
To start, 5 mAh batteries are appropriate for small robots and small projects. For intermediate setups, a combination of 18650 lithium batteries can be an interesting option. Larger setups will require NiMh batteries for 6V setups (especially projects with servos) or LiPo batteries, in 2S or 3S (stepper or brushless motors).
It may also be interesting to have a 5V bank, as a portable option for on-site testing, or when we are away from home.
And finally, do not trust the capacities (mAh) indicated by manufacturers of unrecognized brands, because they are not even close to reality (This does not mean you shouldn’t buy them, just don’t believe the capacity they claim).