Battery Pack Balancing and Power Estimation (Coursera)

Battery Pack Balancing and Power Estimation (Coursera)

In this course, you will learn how to design balancing systems and to compute remaining energy and available power for a battery pack. This course can also be taken for academic credit as ECEA 5734, part of CU Boulder’s Master of Science in Electrical Engineering degree.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

By the end of the course, you will be able to:

  • Evaluate different design choices for cell balancing and articulate their relative merits
  • Design component values for a simple passive balancing circuit
  • Use provided Octave/MATLAB simulation tools to evaluate how quickly a battery pack must be balanced
  • Compute remaining energy and available power using a simple cell model
  • Use provided Octave/MATLAB script to compute available power using a comprehensive equivalent-circuit cell model

What You Will Learn

  • How to design balancers and power-limits estimators for lithium-ion battery packs

Course 5 of 5 in theAlgorithms for Battery Management Systems Specialization.

Syllabus

WEEK 1
Passive balancing methods for battery packs
In previous courses, you learned how to write algorithms to satisfy the estimation requirements of a battery management system. Now, you will learn how to write algorithms for two primary control tasks: balancing and power-limits computations. This week, you will learn why battery packs naturally become unbalanced, some balancing strategies, and how passive circuits can be used to balance battery packs.

WEEK 2
Active balancing methods for battery packs
Passive balancing can be effective, but wastes energy. Active balancing methods attempt to conserve energy and have other advantages as well. This week, you will learn about active-balancing circuitry and methods, and will learn how to write Octave code to determine how quickly a battery pack can become out of balance. This is useful for determining the dominant factors leading to imbalance, and for estimating how quickly the pack must be balanced to maintain it in proper operational condition.

WEEK 3
How to find available battery power using a simplified cell model
This week, we begin by reviewing the HPPC power-limit method from course 1. Then, you will learn how to extend the method to satisfy limits on SOC, load power, and electronics current. You will learn how to implement the power-limits computation methods in Octave code, and will see results for a representative scenario.

WEEK 4
How to find available battery power using a comprehensive cell model
The HPPC method, even as extended last week, makes some simplifying assumptions that are not met in practice. This week, we explore a more accurate method that uses full state information from an xKF as its input, along with a full ESC cell model to find power limits. You will learn how to implement this method in Octave code and will compare its computations to those from the HPPC method you learned about last week.

WEEK 5
Future Battery-Management-System Algorithms
Present-day BMS algorithms primarily use equivalent-circuit models as a basis for estimating state-of-charge, state-of-health, power limits, and so forth. These models are not able to describe directly the physical processes internal to the cell. But, it is exactly these processes that are precursors to cell degradation and failure. This week quickly introduces some concepts that might motivate future BMS algorithms that use physics-based models instead.

WEEK 6
Capstone project
This capstone project explores the design of resistor value for a switched-resistor passive balancing system as well as enhancing a power-limits method based on the HPPC approach.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Problem Solving, Python Programming, and Video Games (Coursera) Coursera
University of Alberta

Problem Solving, Python Programming, and Video Games (Coursera)

This course is an introduction to computer science and programming in Python. Important computer science concepts such as problem solving (computational thinking), problem decomposition, algorithms, abstraction, and software quality are emphasized throughout. The Python programming language and video games are used to demonstrate computer science concepts in a concrete and fun manner. However, a learner can take the knowledge and skills from this course and apply them to non-game problems, other programming languages, and other computer science courses.

Nov 16th 2026
5-12 Weeks
Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Nov 9th 2026
5-12 Weeks
Philosophy and the Sciences: Introduction to the Philosophy of Physical Sciences (Coursera) Coursera
University of Edinburgh

Philosophy and the Sciences: Introduction to the Philosophy of Physical Sciences (Coursera)

What is the origin of our universe? What are dark matter and dark energy? This is the first part of the course 'Philosophy and the Sciences', dedicated to Philosophy of the Physical Sciences. Scientific research across the physical sciences has raised pressing questions for philosophers. The goal of this course is to introduce you to some of the main areas and topics at the key juncture between philosophy and the physical sciences.

Nov 16th 2026
4 Weeks
Machine Learning (Coursera) Coursera
Stanford University

Machine Learning (Coursera)

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems.

Nov 2nd 2026
5-12 Weeks
Big Data Analysis with Scala and Spark (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Big Data Analysis with Scala and Spark (Coursera)

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout.

Nov 9th 2026
4 Weeks
Matlab and Simulink Basics (Coursera) Coursera
Starweaver

Matlab and Simulink Basics (Coursera)

Matlab and Simulink Basics is a meticulously crafted course offering a comprehensive introduction to Matlab's programming environment and Simulink's modeling capabilities. This course is tailored for individuals keen on bolstering their skills in these indispensable tools for engineering, science, and research domains. From laying down foundational concepts to delving into practical applications, participants will embark on a journey that hones their abilities to manipulate data, design models, and interpret results with Matlab and Simulink.

Nov 9th 2026
4 Weeks
Information Theory (Coursera) Coursera
The Chinese University of Hong Kong

Information Theory (Coursera)

At the completion of this course, the student should be able to: demonstrate knowledge and understanding of the fundamentals of information theory; appreciate the notion of fundamental limits in communication systems and more generally all systems; develop deeper understanding of communication systems; apply the concepts of information theory to various disciplines in information science.

Nov 2nd 2026
13-24 Weeks
Cluster Analysis in Data Mining (Coursera) Coursera
University of Illinois at Urbana-Champaign

Cluster Analysis in Data Mining (Coursera)

Discover the basic concepts of cluster analysis, and then study a set of typical clustering methodologies, algorithms, and applications. This includes partitioning methods such as k-means, hierarchical methods such as BIRCH, and density-based methods such as DBSCAN/OPTICS. Moreover, learn methods for clustering validation and evaluation of clustering quality. Finally, see examples of cluster analysis in applications.

Nov 2nd 2026
4 Weeks