Energy Storage Systems: How to Easily and Safely Manage Your Battery Pack

Energy Storage Systems: How to Easily and Safely Manage Your Battery Pack


Paulo Roque

Paulo Roque

Amina Joerg


Lithium-ion (Li-Ion) and other battery chemistries are not only key elements in the automotive world, but they are also predominantly used for energy storage systems (ESS). For instance, gigafactories can produce several MWh per day of energy extracted from renewable generation. How do we account for the various burdens placed upon the energy grid over 24 hours? This can be done by using battery-based grid-supporting energy storage systems (BESS). This article discusses battery management controller solutions and their effectiveness in both the development and deployment of ESS.

Lithium-Ion Battery Challenges

A battery management system (BMS) is needed for the use of Li-Ion cells. The BMS is indispensable because Li-Ion cells can be dangerous. If overcharged, they can undergo thermal runaway and explode. If overly discharged, chemical reactions take place within the cell that permanently affect its ability to hold charge. Both cases involve the loss of battery cells in dangerous and expensive ways. Additionally, a BMS is needed since Li-Ion cells are often stacked to form a battery pack. Charging of stacked cells is often done in series by applying a constant current source in parallel with the stack. However, this brings with it the challenge of balancing, which is the act of keeping all cells at the same state of charge (SOC). How can we charge or discharge all cells fully without overcharging or overdischarging any one individual cell in the battery stack? Balancing is one of the many critical benefits of a good BMS. The BMS’s primary functions include:

  • Monitoring cell parameters such as cell voltage, cell temperature, and the current flowing in and out of the cell.
  • Calculating the SOC by measuring the above-mentioned parameters as well as the charge and discharge current in ampere-second (A.s) using a coulomb counter.
  • Cell balancing (passive) to ensure that all cells are at the same SOC.

Battery Management System Solutions

Analog Devices has an extensive family of BMS devices (ADBMSxxxx). The ADBMS1818, for instance, is ideally suited for industrial and BESS applications and can measure a battery stack of 18 cells. A microcontroller is required to operate any ADBMS IC. The microcontroller unit (MCU) communicates with the BMS, receiving the measurement data and performing computations to determine the SOC and other parameters. While most microcontrollers can communicate with a BMS, not all are suitable. A microcontroller with an extensive processing power is desirable. The data that the BMS feeds back can be large, particularly when a large cell stack is required (some stacks can reach 1500 V and are composed of up to 32 ADBMS1818s connected in a daisy chain). In this case, the microcontroller must have large enough bandwidth to communicate with the different BMS ICs in the system while processing the results. As part of the BMS platform solution, the MAX32626 microcontroller has two supply sources that are managed through a PowerPath controller. The PowerPath controller prioritizes the supply source based on board power demand (connected peripherals and processing load, etc.).

Most ADI monitoring ICs come in a stackable architecture for high voltage systems, which means that multiple analog front ends (AFEs) can be connected in a daisy chain. Therefore, one of the main characteristics of the BMS controller board, referred to as the energy storage controller unit (ESCU), is that it works with multiple AFEs at the same time.

Figure 1 illustrates a typical BMS block diagram where the ESCU is highlighted in blue. While the ESCU is not optimized for functional safety applications, the user can implement protection circuits and/or redundancies to achieve certain Safety Integrity Level (SIL) requirements.

Figure 1. A simplified BMS block diagram supported with ADI BMS solutions.

Figure 1. A simplified BMS block diagram supported with ADI BMS solutions.

BMS Controller Board Hardware and Software

Hardware Information

ADI’s ESCU interfaces with a variety of BMS devices (AFE, gas gauge, isoSPI transceiver). The highlights of the BMS controller board’s hardware and components are:

  • On-board MCU: The Arm® Cortex®-M4 MAX32626 is suitable for energy storage applications. It operates at low power and excels in speed, as it has an internal oscillator running at frequencies up to 96 MHz. In low power mode, it can run at speeds as low as 4 MHz for power savings. It has excellent power management features such as a 600 nA low power mode current and an enabled realtime clock (RTC). The MAX32626 also hosts an optimal variety of peripherals including SPI, UART, I2C, 1-Wire® interface, USB 2.0, PWM engines, 10-bit ADC, and many others. A trust protection unit (TPU) with advanced security features is incorporated in this MCU.
  • Interfaces: The ESCU hosts multiple interfaces:
    • SPI, I2C, and CAN.
    • isoSPI for robust and safe information transfer across a high voltage barrier.
    • USB-C to power the board and flash the MCU.
    • JTAG for microcontroller programming and debugging.
    • Arduino connector (enables more flexibility for adding Arduino-compatible boards such as an Ethernet shield, sensor boards, or even a Proto Shield).

  • isoSPI transceivers: Contains 2× LTC6820 to achieve the isoSPI communication with the BMS ICs on a daisy chain using a single transformer. This ensures that this board is fully isolated from the BMS ICs connected to large voltage battery stacks. The presence of a dual isoSPI transceiver provides a redundant and reversible isolated communication where the host MCU alternates communication ports to monitor signal integrity (a future development of this board will include the ADBMS6822 (dual isoSPI transceiver) for higher data rates and support of the low power cell monitoring (LPCM) function that is present in the latest ADI BMS ICs).
  • Power management:
    • Power can be supplied by either a DC jack or a USB connected to the PC via a USB 2.0 interface (a USB-C connector is available).
    • A prioritizer circuit, using the LTC4415, manages and selects the supply source. It chooses between the DC jack or USB-C input based on the load at the controller and peripherals’ side. For example, if an Arduino shield is connected and running, the power consumption of the board will increase beyond what USB-C can provide. The ideal diode-OR architecture of the LTC4415 will then switch over to select the DC jack as a supply source.
    • The power chain provides different voltage rails (3.3 V, 2.5 V, and 5 V), which are configurable through jumpers.

  • Safety and protection: The MAX32626 controls an on-board isolated gate driver, ADuM4120, that drives an N-FET connected to an external contactor (which sits on the battery board, for example). This has a protection function as the MCU will switch the MOSFET on and off through the ADuM4120 to open the contactors and disconnect the batteries in emergency or fault cases.

Figure 2 illustrates a high level block diagram highlighting the main elements of the ESCU.

Figure 2. A detailed hardware block diagram of the ESCU.

Figure 2. A detailed hardware block diagram of the ESCU.

The PCB comes in a small factor of 10 cm × 9 cm. The main interfaces are shown in Figure 3.

Figure 3. The top side of the ESCU.

Figure 3. The top side of the ESCU.

Software Information

On the software side, ADI provides a complete solution that includes an opensource graphical user interface (GUI) that can be used to communicate with the controller board. The GUI supports up to three ADBMS devices connected to the daisy chain.

The GUI communicates with the MCU through a well-defined open-source communication protocol that can be easily extended. The protocol defines messages that are sent to the MCU over the serial port. The messages are cyclic redundancy check (CRC)-protected to enable error detection. These messages allow the user to connect and disconnect with the MCU in an orderly fashion; set system parameters, perform measurements, enable and check for faults, and write any necessary commands to the ADBMS part. The application code in the MCU makes use of free RTOS threads to perform parallel operations. This is useful because a measurement thread can run in parallel with a fault-checking thread so that a fault interval time can be implemented.

A software interface is provided with the BMS controller board and is written in Python. The main user sections are the following:

  1. System tab: This is the main landing page of the application (Figure 4). It allows the user to establish the serial PC communication, select the number of connected AFE boards, and determine the measurement interval and thresholds to be used for overvoltage and undervoltage checks. After hitting connect, the user is ready to start measurements. If both System Status lights turn green (as in Figure 4), the measurement tabs appear depending on the number of boards entered by the user.

    Figure 4. System tab of user application.

    Figure 4. System tab of user application.

  2. BMS tab/s, as illustrated in Figure 5, display the measurements processed by the ESCU to each connected AFE. The BMS tab/s contain the cell and GPIO voltages, status, and fault readings by the AFE board. The cell voltage measurement is also graphically represented and plotted in real time.

    Figure 5. BMS measurement tabs.

    Figure 5. BMS measurement tabs.

  3. Reference tab: The GUI includes a reference tab representing a high level block diagram of the board and schematics.

The schematics and Gerber files along with the evaluation firmware, GUI, and user guide are open-source and provided by ADI.


In the fast-evolving energy market, there is a pressing need for BESS. The demand is urgent for a complete solution that is ready to be deployed. Support is also needed to speed up the time to market and not add unknown delays. ADI is prepared to meet that demand in full with its ESCU. This board provides the key features required for BESS and provides a complete foundation with flexibility for further development.

With the BMS controller solution from ADI, users will be able to:

  • Evaluate multiple AFEs simultaneously since this solution targets stackable and scalable architectures. No additional isoSPI transceiver board is required.
  • Debug the BMS system seamlessly due to the on-board JTAG, status LEDs, and various connectors and interfaces.
  • Decrease time to market by leveraging open-source hardware and software.

ADI’s BMS controller board is equipped with the key features required for BESS and offers a flexible foundation that’s necessary for future development.


Lithium-Ion Battery Energy Storage Solutions.” Analog Devices, Inc., 2022.

Energy Storage Solutions.” Analog Devices, Inc.

Amina Bahri. “AN-2093: ADBMS1818 Slave Module Solution.” Analog Devices, Inc., 2021.