What is a Battery Management System and Why Do You Need It

10/6/2021 | By Maker.io Staff

The previous article in this series on battery management took a quick look at different common secondary battery types and their advantages and disadvantages. That article also outlined how easy it is to upgrade an existing project to use NiMH cells to power the electronics on the go.

Unfortunately, LiPo and Li-Ion batteries are not as easy to use, as they require special electronics that monitor the cells at all times. Therefore, this article summarizes the most important aspects of battery management, what it is, and why you need a battery management system (BMS) when you want to use lithium batteries.

What is a Battery Management System and Why You Need ItVarious Batteries

Why Do We Need Battery Management When Using Lithium Batteries?

Note that BMS is not exclusive to LiPo and Li-Ion batteries. The simple Arduino-based charger mentioned in the previous article is also a battery management system for NiMH cells.

Li-Ion batteries provide a greater energy density and better storage characteristic than NiMH cells. This increase in energy density means that Li-Ion batteries require precision electronics to monitor their state when charging a cell and discharging it to prevent damaging the cell. Using a good protection circuit ensures consistent and reliable operation of the battery cells for many hundred charge cycles.

The following illustration outlines why a BMS is so important, especially for the longevity of lithium battery packs:

What is a Battery Management System and Why You Need ItThis image shows how the charge voltage affects the cell's capacity over time.

The figure shows the dramatic effect of overcharging a lithium battery. The cell started with a nominal capacity of around 950mAh, and it’s rated at 4.2V. Overcharging leads to an initial increase in cell capacity. However, increasing the cell voltage by even as little as 0.05 Volts already causes a dramatic decrease in cell capacity after only 500 charge and discharge cycles. Charging the cell to 4.35V halves the number of charge cycles before the battery’s effective capacity drastically decreases. Besides charging the battery too much, charging a cell too fast (i.e., with too much current) also wears out the battery more quickly.

This example outlines the importance of having precision charge circuitry. A good BMS must ensure that each cell of the battery pack gets charged with the appropriate voltage. Note that 3.7V is typical for 18650 lithium cells commonly found in maker and DIY projects.

Tasks of Battery Management Systems

Depending on the target application and the pack organization and size, the tasks and complexity of a BMS can vary dramatically. A battery management circuit must always control the charge of each cell and prevent abuse and failure conditions. Additionally, a BMS may also monitor critical parameters, such as the battery temperature, and communicate battery information to the device and user.

Besides ensuring safe operating conditions, a BMS also aims to maximize safety and battery life. A typical BMS consists of three components. The first one controls the charging process. Another section offers protection, for example, against short circuits, deep discharges, and overcharging the battery. Lastly, a third component may additionally keep track of the battery health and cell information, such as the state of charge (SoC) and charge cycles.

Nowadays, specialized charge ICs offer most if not all of these features to varying degrees in a convenient package optimized for cost-effective large productions. Some more sophisticated applications, such as electric vehicles, need more elaborate BMS and additional protection against faults such as redundant controllers.

Makers, however, should be fine with using single-IC solutions. Either way, Arduino projects often require additional step-up or step-down circuits, as the cell voltage often doesn’t match the operating voltage of an Arduino. As the cell discharges, the voltage also drops. Therefore, a BMS for Arduino projects also requires a voltage regulating circuit.

Battery Pack Configurations

Note that for the remainder of this series, I’ll be using a single 18650 Li-Po cell with a nominal voltage of 3.7V and a rated capacity of 1500mAh. You can, however, combine multiple cells to achieve different effects. Arranging individual cells in series increases the effective output voltage of the entire battery pack. Connecting individual cells in parallel increases the capacity of the pack:

What is a Battery Management System and Why You Need ItVarious possible battery pack configurations of single cells

As you can see, XsYp is a naming convention to refer to the internal structure of a battery pack where X denotes the number of cells in series and Y refers to the number of cells in parallel. Note that if you use multiple cells in a battery pack, your BMS must ensure that the voltage of each cell is as close to the other cells as possible to prevent damage to the battery pack. Furthermore, you should ensure that all cells have roughly the same capacity.


This part of the battery management series introduced you to the tasks of a battery management system. In summary, a BMS must ensure the safe and reliable operation of a battery pack. In addition, more advanced systems may calculate the remaining SoC (state of charge) and report back to the user an estimated remaining run time. Most importantly, a BMS must protect each cell of the pack from getting overcharged or deep discharged. A battery pack might consist of multiple cells, arranged in different ways. When you connect multiple cells in series, you increase the output voltage of the pack. Connecting cells in parallel increases the capacity of the pack.