Open-source 3/4/5S Lithium BMS

Introduction: Open-source 3/4/5S Lithium BMS

In this Instructable the design of the BMS345 will be explained. The design is fully open-source, the design files can be found in the GitHub link in the last step. There is also a limited supply available on Tindie.

The BMS345 is a BatteryManagementSystem that supports 3, 4 and 5 cells lithium-ion packs. If you build/buy a pack with unprotected cells, this PCB can be added to handle protection and charging. This includes:

  • Under/overvoltage protection
  • Overcurrent (/shortcircuit) protection
  • Cell balancing
  • MPPT charging

The documentation will be divided into:

  1. Protection
  2. Charging
  3. Configuration
  4. The end product

Enjoy :)

Step 1: Protection

The protection is handled by the TI BQ77915.

  • The input resistors are 1K, which sets balancing current to 4mA/cell
  • The header is the commonly used JST-XH 4/5/6P depending on the configuration
  • A NTC can be connected to header J5, but this features is disabled by default by R26
  • The negative connection is switched by a dual N-channel mosfet (NVMFD5C466NL)
  • The current sense resistor is 2x8m (4m equivalent) ohm, setting the current protection to 15A

Step 2: Charging

The charging is handled by the TI BQ24650

  • D1 shows the charging status, an external LED can be connected via J4
  • R30 sets the charge current to 1A
  • Temperature sensing is disabled by R13/R14/C14
  • MPPT voltage is set to 17.2V by R22 and R28
  • The mosfets are the same dual-package type as is used in the protection circuit
  • The default charge voltage is 4.2V, which barely trips the overvoltage protection of the BQ77915. It is recommended to populate R36 with 22M to lower the charge voltage to 4.05V/cell. This avoids false over-voltage triggering.

Charging can be done from a 24V 1A supply or even a solar panel (only for 3/4S configurations).

Step 3: Configuration

This header can be just with jumpers to set the configuration.

Step 4: End Product

You can add the PCB to a Vruzend system as seen in the picture, but it is also suited for RC lipo and regular spot-welded packs.

Link to Tindie:

Link to github

Thanks for reading.

Sensors Contest

Participated in the
Sensors Contest

Be the First to Share


    • The 1000th Contest

      The 1000th Contest
    • Battery Powered Contest

      Battery Powered Contest
    • Hand Tools Only Challenge

      Hand Tools Only Challenge

    4 Discussions


    Question 8 months ago

    Hi! nice work. can u please provide schematic diagram of this in Proteus or other software format file so we can simulate it for our better understanding? regards.


    11 months ago

    I just have a doubt here. i am a newbie. In the whole BMS. where to take the output voltage for connecting any load or device? like where to take voltage to power an external device?


    Reply 11 months ago

    At the PACK+ and PACK- pads