NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on The site is now set to read only.

User:Michael DeSando

From Texas Instruments Wiki
Jump to: navigation, search

Multi-Cell Li-Ion Battery Management System Using MSP430FR5969 and BQ76PL536 Evaluation Board[edit]

BMS Application.jpg


  • 3 to 6 Series Cell Support
  • All Lithium Ion Chemistries
  • Individual Cell and Pack Voltage Monitoring
  • State of Charge Guage
  • Pack Temperature Monitoring
  • Cell Balacing Capability
  • Cell Overvoltage and Undervoltage Protection Capability
  • Overtemperature Protection Capability
  • Programmable Thresholds
  • User friendly interface using a capacitive touch slider, 2 buttons, and a LCD screen

Recommended Operating Conditions[edit]

  • Cell Voltage Range: 1V to 4.5V
  • Pack Voltage Range: 7.2V to 27V
  • MCU Power Supply: 5V at 2A

Absolute Maximum Ratings[edit]

  • Cell Voltage Range: 0V to 36V
  • Pack Voltage Range: -0.3V to 36V
  • MCU Power Supply: -0.3V to 5.5V
  • Storage Temperature: -65°C to 150°C


The BMS is based on the modules shown below in Figure 1.

BMS Block Diagram.PNG

                                           Figure 1: BMS Block Diagram
Battery Pack[edit]

The battery pack contains between three and six Lithium Ion cells. The minimum allowed voltage for each cell is 1V and max voltage is 4.5V. The batteries are connected in series with the negative terminal of the first cell connected to P7 and the negative terminal of the next cell connecting to P6 and so on until the positive terminal of the last cell is connected to P1. Another pack of three to six cells can also be connected to the other two plugs but only one pack is used for this project.

The pack is connected to the EVM at the Port 1 plug. It is essential that the batteries remain secure and the lines from the battery are secured in the plug with the metal screws before it is connected to the EVM. The negative of the bottom cell connects to P1. For more information on the specific cells used see the 18650 datasheet [1]. The specific cell holders used are Arbin Instruments high power cell holders for cylindrical cells.

BQ76PL536 Evaluation Board[edit]

The EVM shown in Figure 2 has three BQ76PL536 BMS ICs which monitor the battery packs. Note that only one BMS chip is used since only one battery pack is used in this project. The BMS chip is connected to cell balance circuitry as shown in Figure 3 which is then connected to the cells. The EVM has an isolated communication interface that allows SPI and Input/Output communication with a host device. The BMS chips are powered by the battery pack itself requiring a supply voltage between 7.2V and 27V. The communication is powered by a 5V output of the MSP430FR5969. More information regarding the BQ76PL536 can be found at the IC datasheet [2] and the EVM User Guide [3].

MSP430FR5969 MCU[edit]

The MCU, shown in Figure 4, communicates to the EVM through SPI. The MCU reads in important data from the BMS chips and then uses an LCD screen to display the information to the user. The MCU reads cell voltage, pack voltage, and two pack temperatures. The MCU also calculates and displays the state of charge of the cells. The MCU has control over the cell balance circuitry and can detect if cells are out of balance and start passive cell balancing if they are. The MCU has an option select button (right button) and a menu button (left button) which helps the user navigate through the menus on the LCD screen. More information can be found in the MSP430fr5969 Datasheet [4], MSP430fr59xx Family User’s Guide [5], and MSP-EXP430FR5969 LaundPad User’s Guide [6]. To purchase a MSP430FR5969 or to see additional tecnical documents, visit the Evaluation Kit page [7].

Sharp LCD BoosterPack[edit]

The LCD screen, shown in Figure 6, connects to the MCU through SPI. The LCD BoosterPack also includes two capacitive touch sliders that serve as selection wheels for the menus on the screen. Note that only the left capacitive touch slider is used in this project.

More information can be found in the Sharp LCD BoosterPack User’s Guide [8].


The BMS application state diagram is shown below in Figure 7.

BMS State diagram.png

                                        Figure 7: State diagram of BMS application

Note: Example code for implementing the LCD screen and capacitive touch sliders for the MSP430FR5969 can be found on the Evaluation Kit Page [7] or in the User Guide [6]. Battery Management System code for SPI communication between the BQ76PL536 BMS chips and the MSP430 along with read/write code for the monitoring the batteries using the BMS chips can be found in an application note from another battery management solution [9]. I used code from both of these sources along with writing my own original code for creating the BMS applications.

All of the code for this BMS application can be found at: File:BMS


A skeleton version can be found at:

SPI Error Message[edit]

If there is an SPI error message displayed before the main menu is displayed, this means the BQ76PL536 device is not detected. There is most likely a problem with the SPI connection between the MSP430fr5969 and the EVM. Check the SPI lines along with the Power and Ground lines.

Main Menu[edit]

The main menu displays the modes of the BMS. The user uses the option select button to select Cell Voltage, Pack Voltage, State of Charge, Temperature, or Cell Balance.

Cell Voltage[edit]

Once the Cell Voltage mode is selected, the user then needs to select a cell using the option select button. The cell voltage of the selected cell is displayed in mV. The cell voltage displays for 4 seconds then returns to the cell selection menu. Press the exit button to go back to the main menu.

Pack Voltage[edit]

When the Pack Voltage mode is selected, the pack voltage for all connected cells is displayed in mV. The user must press the exit button to return to the main menu.

State of Charge[edit]

Once the State of Charge mode is selected, the user then needs to select a cell using the option select button. The state of charge of the selected cell is displayed by showing a battery with the approximate remaining charge. See the table below for charge remaining approximation information.

Cell Voltage [V] Bars of Charge Remaining (State of Charge)
<3.3 1
3.3 to 3.4 2
3.4 to 3.5 3
3.5 to 3.6 4
3.6 to 3.7 5
3.7 to 3.8 6
3.8 to 3.9 7
>4.0 8

When the Temperature mode is selected, two different pack temperatures at two separate locations in the battery pack are displayed to the screen in degrees Celsius. The user must press the exit button to return to the main menu.

Cell Balance[edit]

When the Cell Balance mode is selected, the system checks to see if the cells are imbalanced. The cell imbalance threshold is programmed to be 50 mV. This means that if the highest cell voltage differs from the lowest cell voltage by more than 50 mV, the cells are considered imbalanced and the Cell Imbalance screen is displayed. If the cells are already balanced, the Cell Balance screen will be displayed. The system is capable of controlling the cell balance circuitry shown in Figure 3 but it is recommended to enable cell balancing only if the system is connected to a charger otherwise the higher cells will be drained until the lowest cell voltage is reached. Due to code size limitations on the free version of Code Composer Studio, the cell balance feature is currently disabled.

The cell balance routine is already written in the code and just needs to be uncommented and reloaded to the MSP430. The application checks the voltages of each cell (using the ADC measurements of the BMS chip), checks if any cells differ by more than the programmable threshold (currently 50mV) and then will balance the cells (output signals to turn on the gates of the corresponding MOSFETs to drain the voltage to the lowest cell voltage) for a programmable amount of time (can be set between 1 second and 63 minutes) and then check again to see if the cells are still out of balance and then will repeat until there is no imbalance detected.


Between battery pack and BQ76PL536 EVM[edit]
Battery Pack BQ76PL536 EVM
Cell 6 Positive P1
Cell 6 Negative P2
Cell 5 Negative P3
Cell 4 Negative P4
Cell 3 Negative P5
Cell 2 Negative P6
Cell 1 Negative P7
Between BQ76PL536 EVM and MSP430FR5969 MCU[edit]
BQ76PL536 Pin Name EVM Pin # (Port) MSP430fr5969 Pin
VCC (SPI Power) 6 (P5) VCC
GND 2 or 10 (P5) GND
CS_H 9 (P5) P3.0 (GPIO)
CLK_H 7 (P5) P2.2 (UCSIB0CLK)
SDI_H 8 (P5) P1.6 (USCIB0SIMO)
SDO_H 5 (P5) not connected*
CONV_H 5 (P4) not connected*
DRDY_H 4 (P4) not connected*
ALERT_H 3 (P4) not connected*
FAULT_H 2 (P4) not connected*
Between MSP430FR5969 MCU and Sharp LCD BoosterPack[edit]
MSP430FR5969 MCU Sharp LCD BoosterPack
LCD Power Control P4.2
LCD Enable P4.3
External COM Inversion P1.2
Left Slider 2 P3.4
Left Slider 1 P3.5
Left Slider 0 P3.6

Bill of Materials[edit]

Component Function Cost per Unit Quantity Total Cost
Li-Ion Cells Required for testing. $10.00 6 $60.00
Battery Holders Required to create battery pack used for testing. $2.75 6 $16.50
BQ76PL536 EVM Required for battery management. $400.00 1 $400.00
MSP430fr5969 MCU LaunchPad Required for data processing and communication to the EVM. $20.00 1 $20.00
Sharp LCD BoosterPack Required for displaying data to the user. $10.00 1 $10.00
5V 2A Power Adaptor Required to power the MSP430. $10.00 1 $10.00
Wire Required for connecting devices. $5.00 1 $5.00
Buttons Required for user interaction. $1.00 2 $2.00
Casing Required to enclose devices. This is optional. $10.00 1 $10.00
Total $533.50

Future Possibilities[edit]

Many of the possible features for this BMS are not implemented or disabled.

These features are not implemented due to a lack of available pins on the MSP430

  • Cell Overvoltage Detection
  • Cell Undervoltage Detection
  • Overtemperature Detection

These features are disabled in the code due to code size limitation in the free version of Code Composer Studio

  • Passive Cell Balancing
  • Automatic System Shutdown

Using this system, the BQ76PL536 Evaluation Boards can be stacked vertically to monitor up to 192 cells without additional isolation components between ICs. Note that only one port is utilized in this project which only uses one BQ76PL536 BMS IC to monitor up to six cells.


[1] NCR18650 Datasheet. Panasonic. Feb 2010. Web <>

[2] BQ76PL536 Datasheet. Texas Instruments. July 2010. Web <>

[3] BQ76PL536 EVM Quick Start Guide. Texas Instruments. May 2011. Web <>

[4] MSP430fr59xx Mixed-Signal Microcontroller Datasheet. Texas Instruments. May 2014. Web. <>

[5] MSP430fr59 Family User’s Guide. Texas Instruments. May 2014. Web <>

[6] MSP-EXP430FR5969 LaundPad User’s Guide. Texas Instruments. Feb 2014. Web <>

[7] MSP-EXP430FR5969 LaundPad Evaluation Kit. Texas Instruments. Feb 2014. Web <>

[8] Sharp LCD BoosterPack User’s Guide. Texas Instruments. Feb 2014. Web <>

[9] Multi-Cell Li-Ion Battery Management System using MSP430F5529 and bq76PL536. [Application Report]. <>

[10] Battery Management System. Wikipedia. [Online article] <>

[11] Batter Management Solutions. Texas Instruments. [Application Note] <>

[12] Aardvark Adapter User Manual. Total Phase, Inc. 2014. Web <>

TI Intern Design Challange 2014[edit]

Team Name[edit]

Useful Applications

Team Members[edit]

Michael DeSando a0221117

Project Name[edit]

Battery Management System

Project Description[edit]

This project uses a MSP430FR5969 MCU and a BQ76PL536 Evaluation Board to create a battery management system. The system uses a Sharp LCD BoosterPack to display useful battery information such as cell voltage, pack voltage, state of charge, and pack temperature to a user and allows them to navigate through the menus using a capacitive touch slider on the BoosterPack in addition to external buttons for entering and exiting applications. The system also features a cell balancing mode in which the battery voltages are measured to see if they differ by more than a programmable threshold set in code. The system can easily be modified to enable cell balancing for a programmable set time along with implementation of cell overvoltage, cell undervoltage, and overtemperature detection which can then alert the user.

Project Demonstration Video[edit]

Team Picture[edit]

Holding bms.PNG