Skip to the content
PCBKitNew board
4 layers121 × 78 mmBat Mgt Sys, the printed circuit board in 3D

Analog BMS for Li-ion/Lipo batteries

Size
121 × 78 mm
Copper layers
4
Thickness
1.6 mm
Parts
63
Nets
34
Pads
184
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 10.0 (file 20260206)
Created
16 Jun 2026
Updated
29 Sep 2026

Overview

Bat Mgt Sys is an open-source printed circuit board by Stanislus29, from the Stanislus29/analog-bms repository on GitHub, published under the MIT licence. It is a 4-layer board of 121 × 78 mm with 63 parts on 34 nets.

It is built around the TPD1E05U06DPY, SS14 and IRLML6402. Its parts include 26 resistors, 10 capacitors, 7 ICs, 6 diodes and 4 connectors. It belongs with the power boards of this library.

Main components

3

README

README.md
Analog BMS Banner

GitHub Repository


An analog battery management system for electrical and thermal protection of lithium-ion and lithium-polymer batteries.


Overview

This project is the design and construction of an analog Battery Management System (BMS) for lithium-ion and lithium-polymer batteries.

The system is built entirely around discrete analog and mixed-signal components rather than a microcontroller-based monitoring system. Its purpose is to provide independent protection against electrical and thermal conditions that can lead to unsafe battery operation.

The architecture is divided into independent protection and power-management subcircuits:

  • Overcharge protection
  • Thermal protection
  • CC-CV charging
  • Over-discharge protection
  • Power-path management

Each subsystem is derived from its underlying electrical behaviour and can be analysed independently before being integrated into the complete system.

The design was developed through mathematical analysis, SPICE simulation, schematic design, physical construction, and experimental validation.


System Architecture

text
                         ┌──────────────────────┐
                         │   External Supply    │
                         │       USB-C          │
                         └──────────┬───────────┘
                                    │
                                    ▼
                         ┌──────────────────────┐
                         │    Power Path        │
                         │    Management        │
                         └──────────┬───────────┘
                                    │
                     ┌──────────────┴──────────────┐
                     │                             │
                     ▼                             ▼
              ┌─────────────┐               ┌─────────────┐
              │ Overcharge  │               │  Thermal    │
              │ Protection  │               │ Protection  │
              └──────┬──────┘               └──────┬──────┘
                     │                             │
                     └──────────────┬──────────────┘
                                    ▼
                              ┌─────────────┐
                              │     NOR     │
                              │    Logic    │

The charging path is enabled only when the battery satisfies the relevant voltage and temperature conditions.


Protection Subsystems

Overcharge Protection

The overcharge protection circuit monitors the battery voltage and prevents charging when the voltage reaches the configured upper threshold.

The implementation uses an MCP6561-OT comparator configured as an inverting Schmitt trigger. The design target is approximately 4.2 V for a single lithium cell, with hysteresis incorporated to prevent unwanted switching around the threshold.

The simulated transition occurred at approximately 4.32 V, giving a deviation of approximately 0.12 V from the theoretical design value. The physical charging tests demonstrated the expected charging inhibit and enable behaviour.

Thermal Protection

Battery temperature is monitored using a 10 kΩ NTC thermistor.

The protection circuit is configured around a target thermal cutoff of approximately 45 °C. When the temperature condition exceeds the configured threshold, the charging path is disabled.

The thermal protection stage also incorporates hysteresis to prevent repeated switching around the cutoff temperature.

Due to the safety implications of intentionally heating a lithium battery, physical thermal testing was not performed. The thermal protection behaviour was therefore evaluated through circuit simulation.

Charging Control

The overcharge and thermal protection outputs are combined using a 74AHC1G02 NOR gate.

Charging is enabled only when both protection conditions indicate that charging is safe:

text
OC_OUT = LOW
TH_OUT = LOW

        ↓

NOR = HIGH

        ↓

Charging Enabled

If either an overcharge or thermal fault is detected, the NOR output disables the charging path.

An LED indicator is also incorporated into the logic stage to provide a visual indication of the charging state.

CC-CV Charging

The charging subsystem implements a constant-current / constant-voltage charging profile.

A TLV76701DRVx LDO is used to regulate the charging voltage, while a sense resistor establishes the current-limiting behaviour.

The design targets approximately 4.2 V for a single lithium cell.

A SS14 Schottky diode is included to prevent unwanted reverse current or backfeeding between the charging and battery paths.

Simulation produced an output voltage of approximately 4.18 V, with an initial simulated charging current of approximately 972 mA at a battery voltage of 3.0 V.

Over-discharge Protection

The over-discharge stage prevents the battery from being driven below its configured minimum operating voltage.

A BSS215P P-channel MOSFET is used as the switching element, with an auxiliary 3 V coin-cell reference providing the gate control.

The design uses a target cutoff of approximately 3.0 V.

Power-Path Management

The power-path stage manages the relationship between the external supply and the battery output.

Two SS14 Schottky diodes provide isolation between the relevant supply paths while allowing the system to select the available power source.

The output is provided through the BOUT node, with a bleed resistor included in the power-path circuitry.


Design Methodology

The BMS was developed from the circuit level upward.

Rather than treating the system as a black-box BMS, each protection function was first analysed according to its electrical behaviour and then implemented as an independent circuit.

The main mathematical and electrical foundations include:

  • Voltage-divider analysis
  • Comparator transfer characteristics
  • Schmitt-trigger hysteresis
  • MOSFET switching behaviour
  • LDO regulation
  • Current-sense relationships
  • Thermistor temperature dependence
  • Boolean logic for protection-state combination

The resulting subsystems were simulated independently before being integrated into the complete architecture.


Simulation

The design was validated using SPICE-based transient simulations.

The simulations were configured with a transient analysis of:

text
.tran 5u 80m

with a maximum timestep of:

text
.options maxstep=100n

The Gear integration method was used alongside tighter convergence parameters for the circuit simulations.

Simulation was used to examine:

  • Protection threshold behaviour
  • Comparator switching
  • Thermal cutoff behaviour
  • Charging current
  • CC-CV voltage regulation
  • Power-path behaviour
  • Transient response

The repository contains the relevant simulation projects and circuit files.


Experimental Validation

Following simulation, the circuit was physically constructed and tested.

The experimental work focused on verifying that the physical implementation followed the behaviour predicted by the circuit analysis and SPICE models.

Overcharge Protection

The theoretical cutoff was designed around 4.2 V.

The simulated transition occurred around 4.32 V. Physical bench-supply testing demonstrated the expected charging inhibit and enable behaviour.

CC-CV Charging

The simulated LDO output was approximately 4.18 V, with an initial current of approximately 972 mA at a 3.0 V battery voltage.

Physical testing similarly demonstrated the transition from constant-current charging towards constant-voltage regulation.

Thermal Protection

The theoretical thermal cutoff was approximately 45 °C.

Simulation demonstrated the expected protection transition. Physical thermal testing was not performed because intentionally heating a lithium battery introduces unnecessary safety risk.


Main Components

ComponentFunction
MCP6561-OTVoltage and thermal comparator
TLV76701DRVxCC-CV charging regulator
74AHC1G02NOR logic for protection-state control
BSS215POver-discharge MOSFET switching
10 kΩ NTCTemperature sensing
SS14Schottky isolation / reverse-current protection
Passive componentsVoltage sensing, hysteresis, current limiting and biasing

Hardware

The physical BMS implementation is based on the same architecture validated through simulation.

The circuit was constructed using the selected analog components and tested against the expected protection and charging behaviour.

The repository contains the hardware design and simulation artefacts used throughout the development process.


Design Scope

The current implementation focuses on the core electrical and thermal protection functions of a lithium battery management system.

Included

  • Analog overcharge protection
  • Thermal protection
  • CC-CV charging
  • Over-discharge protection
  • USB-C input power
  • USB-A output power path
  • Adjustable protection thresholds
  • Analog protection-state logic
  • SPICE simulation
  • Physical prototype construction and testing

Not Included

The current design does not implement:

  • Cell balancing
  • State-of-charge estimation
  • Digital battery communication
  • Battery monitoring software
  • Production-grade battery certification
  • Large-scale field deployment

The architecture is therefore best treated as an engineering prototype and research/design implementation rather than a certified production BMS.


Repository Structure

text
analog-bms/
├── schematics/              # KiCad schematics and hardware design
├── simulations/             # Main SPICE simulation files
├── sim-LDO-SUBCKT/          # LDO subsystem simulations
├── sim-OC-SUBCKT/           # Overcharge protection simulations
├── sim-PP-MGT/              # Power-path management simulations
├── sim-lm311/               # Comparator-related simulations
├── scripts/                 # Supporting scripts
└── .gitignore

Tools

The project uses a combination of electronic design and circuit-simulation tools:

ToolPurpose
KiCad 7.xSchematic and PCB/electronic design
LTspiceCircuit simulation
PSPICECircuit simulation and analysis
ngspiceSPICE-based circuit simulation

Future Development

Potential extensions to the current architecture include:

  • Multi-cell battery support
  • Cell balancing
  • State-of-charge estimation
  • Battery state monitoring
  • Digital communication interfaces
  • Microcontroller-assisted monitoring
  • More comprehensive thermal validation
  • PCB optimisation
  • Extended fault-condition testing
  • Further threshold and component-tolerance analysis

Project Documentation

The associated project documentation provides the mathematical derivations, circuit analysis, simulation methodology, implementation details, and experimental results behind the design.

The repository is intended to preserve the engineering artefacts of the project, including its schematics and simulation work.


Collaboration

This project was developed collaboratively.


Safety Notice

This project involves lithium battery charging and protection circuitry.

The design is an engineering and research prototype and should not be treated as a certified battery-safety device or production-ready BMS without additional validation, qualification, protection analysis, and compliance testing.

Lithium batteries can present significant electrical, thermal, and fire hazards when improperly charged, discharged, damaged, or handled.


License

License: MIT


Somtochukwu Stanislus Emeka-Onwuneme

Connect with me



Parts

63
QtyValueFootprintReferences
710kResistor_SMD:R_0603_1608MetricR8, R14, R15, R16, R18, R22, R24
3100uCapacitor_SMD:CP_Elec_6.3x5.4C1, C4, C6
3SS14Diode_SMD:D_SMAD1, D2, D3
210uCapacitor_SMD:C_0805_2012MetricC7, C8
222Capacitor_SMD:CP_Elec_6.3x5.4C9, C10
25.1KResistor_SMD:R_0603_1608MetricR1, R2
2IRLML6402Package_TO_SOT_SMD:SOT-23Q1, Q2
2MCP6561-OTPackage_TO_SOT_SMD:SOT-23-5U5, U6
2Screw_Terminal_01x02bmslibs:OST_OSTTC020162J3, J4
2TPD1E05U06DPYPackage_SON:Texas_DPY0002A_0.6x1mm_P0.65mmU1, U2
10.1uCapacitor_SMD:C_0805_2012MetricC2
10.885Resistor_SMD:R_2512_6332MetricR9
11Resistor_SMD:R_1206_3216MetricR5
11.45kResistor_SMD:R_0603_1608MetricR25
11.6kResistor_SMD:R_0603_1608MetricR26
1100Resistor_SMD:R_0603_1608MetricR19
110KResistor_SMD:R_0603_1608MetricR13
110Kbmslibs:THROUGH_HOLESThermistor(NXRT15XV103FA3A016)1
111.2kResistor_SMD:R_0603_1608MetricR11
11MResistor_SMD:R_0603_1608MetricR3
12.0Battery:BatteryHolder_Keystone_3034_1x20mmBT2
122nCapacitor_SMD:CP_Elec_6.3x5.4C3
13.8kResistor_SMD:R_0603_1608MetricR17
1370Resistor_SMD:R_0603_1608MetricR27
142.25kResistor_SMD:R_0603_1608MetricR7
1453kResistor_SMD:R_0603_1608MetricR4
14700uCapacitor_SMD:CP_Elec_6.3x5.4C5
15.8 W/mKbmslibs:SOT95P280X140-5NHS1
15kResistor_SMD:R_0603_1608MetricR23
16.6kResistor_SMD:R_0603_1608MetricR12
173.2kResistor_SMD:R_0603_1608MetricR21
174AHC1G02W5-7bmslibs:SOT95P280X140-5NU8
176.8kResistor_SMD:R_0603_1608MetricR6
196kResistor_SMD:R_0603_1608MetricR20
1Batterybmslibs:THROUGH_HOLESBT1
1GREENLED_THT:LED_D3.0mmD4
1REDLED_THT:LED_D3.0mmD5
1TLV76701DRVxPackage_SON:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mm_ThermalViasU4
1TPS2592xxPackage_SON:VSON-10-1EP_3x3mm_P0.5mm_EP1.65x2.4mm_ThermalViasU3
1USB_Abmslibs:GCT_USB1046-GF-0190-L-B-A_REVB4J2
1USB_C_Receptacle_PowerOnly_6Pbmslibs:MOLEX_2171750001J1
1WHITELED_THT:LED_D3.0mmD6

The 59 most common of 63 parts.

Questions

How big is the Bat Mgt Sys PCB?

It measures 121 × 78 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Bat Mgt Sys use?

63 parts, built around the TPD1E05U06DPY, SS14 and IRLML6402. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Bat Mgt Sys KiCad files?

From the Stanislus29/analog-bms repository on GitHub, at the commit this page was made from: the board is schematics/Bat Mgt Sys.kicad_pcb and its schematic schematics/Bat Mgt Sys.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Bat Mgt Sys design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers82 × 144.9 mmModel c, the printed circuit board in 3D

    Model c

    TrojanPinata/Model-C

    Calculator-numpad hybrid - work in progress

    171 parts1GPL-3.0
  • 8 layers106 × 62 mmCm5-m2key b usb3-ix, the printed circuit board in 3D

    Cm5-m2key b usb3-ix

    taskx6004/AnyRadio-CM5

    modular RPI CM5 carrier board

    224 parts42
  • 4 layers76.6 × 25.1 mmEsp atx power, the printed circuit board in 3D

    Esp atx power

    valletw/esp-atx-power

    ESP32 ATX Power Controller

    55 parts30MIT
  • 6 layers42.2 × 61.4 mmDap proto board full, the printed circuit board in 3D

    Dap proto board full

    tsar-boomba/dap-proto-board-full

    The culmination of all of my learning during the Spring '26 semester. All the way from making a simple dev board for the TAD5212 DAC, to making a RP2350 board, and now this. Everything combined on one 6-layer board.

    102 parts1
  • 4 layers135.1 × 56.9 mmAfterburner, the printed circuit board in 3D

    Afterburner

    CelestineOverflow/Afterburner_PCB

    PCBA Files

    144 partsGPL-3.0
  • 4 layers36.5 × 23.5 mmPeripherals, the printed circuit board in 3D

    Peripherals

    mayashapiro19/table-zamboni

    24 parts
  • 4 layers50 × 50 mmLFX FC R2, the printed circuit board in 3D

    LFX FC R2

    nguyencanhanh/luckfox-rv1103-drone

    AI quadcopter on one RV1103 (Luckfox Pico Mini B): Linux + RISC-V MCU flight loop, SITL with 3D pilot view, KiCad flight-controller board

    142 partsMIT
  • 6 layers13 × 27 mmHaven v2 pod, the printed circuit board in 3D

    Haven v2 pod

    pauliano22/haven-dev-board-kicad

    Haven — KiCad port of the dev board (nRF5340 + ADAU1860 DSP), based on the stock OpenEarable 2.0 design

    79 parts