The project originated when the author purchased an electric motorcycle for his daughter and replaced its original lead-acid gel battery with a lithium battery pack. Due to the lack of smart, cheap and easy to configure lithium battery management systems on the market, the author decided to make one himself. After hard work, he successfully produced a project called Green BMS and shared it as open source. The author mentioned that his daughter has traveled hundreds of kilometers using the scooter modified by this project, and this project is not only suitable for electric mobility tools, but can also be applied to solar energy storage systems and any scenario using lithium batteries. The author feels happy to be able to make his own contribution to the environment and a sustainable future. Smart BMS is an open source battery management system for lithium battery (lithium iron phosphate, lithium ion, NCM, etc.) battery packs. The main functions of BMS (Battery Management System) include: 1. Prevent battery overcharging 2. Prevent battery over-discharge 3. Battery balancing Smart BMS consists of four main components: Battery Module (Cell Module): This module is responsible for monitoring and managing each battery The status of each battery cell. It ensures that each cell is operating within a safe voltage range and collects data on key parameters such as temperature, voltage and current. In addition, it is responsible for performing battery balancing tasks to ensure that all individual cells maintain a consistent charge level. Control Unit: The control unit is the brain of the BMS and is responsible for processing data from the battery module and making decisions based on these data. It performs functions such as overcharge, over-discharge and short-circuit protection to ensure the safety of the battery system. In addition, the control unit is responsible for communicating with other system components such as charging devices, discharging devices, etc. Limiter: The current limiter is one of the safety mechanisms of the BMS and is responsible for cutting off the current when an overcurrent condition occurs in the battery system. It prevents the battery from being damaged due to overcurrent, thus protecting the safety of the entire battery system. The current limiter usually works closely with the control unit to monitor the current status in real time and take necessary measures. Android App: The Android App provides users with an intuitive interface that enables them to remotely monitor and manage the battery system. Through the app, users can view battery status, control the charging and discharging process, receive alerts and notifications, and more. In addition, the application provides data analysis capabilities to help users better understand the performance and health of the battery system. The voltage and temperature values of each battery are collected by the associated battery module (based on Attiny microcontroller) and sent to the control unit (based on Arduino Mega microcontroller) via serial I2C lines. The control unit starts or stops charging via a limiter (via an output relay), which contains a power relay for opening or closing the charging circuit. The control unit can also start or stop the discharge via output relays. During the charging process, when a battery reaches the "balance voltage value parameter", the battery module connects the balancing resistor for battery balancing. When only one cell in the battery pack is being balanced, the control unit activates the current limiting function in the limiter (charging current limited to 1A). The control unit can be connected to a smartphone (or tablet) via Bluetooth. Through the "Green BMS" Android app (available on the Play Store), it is possible to check the battery pack status (total voltage, current load, state of charge, etc.), check the actual voltage and temperature values of each cell, and make various settings.
Blockdiagram