--- title: "BatteryManagement" date: 2025-01-27 draft: false description: "a description" tags: ["battery", "bms"] --- # Battery Management Module The PlantCtrl system uses an external **Battery Management System (BMS)** board that connects to the MainBoard. This module monitors battery voltage, current, and health metrics and communicates with the ESP32-C6 via I2C. {{< alert >}} The open-bms is a custom battery management board designed for this project. It uses a CH32V203 microcontroller to handle battery monitoring and protection. The older bq34z100-based battery management board is deprecated and located in the `__Legay_Unused` folder. {{< /alert >}} ## Hardware The Battery Management Board features: * CH32V203 RISC-V microcontroller for battery monitoring * I2C interface for communication with the MainBoard * Battery voltage and current sensing {{< alert >}} The open-bms board does not use the bq34z100 fuel gauge IC. That component was used in an older legacy design now located in the `__Legay_Unused` folder. {{< /alert >}} ## Integration with MainBoard The battery management board: * Connects to the MainBoard via a two-pin I2C bus * Provides power connection to the battery * Reports battery metrics via MQTT (if configured) ## Usage * If available, the system will use battery metrics for deep sleep management when charge is critical * The nightlight can be automatically disabled if battery level drops below a predefined threshold * All battery metrics are published via MQTT when configured * The system includes safety mechanisms to prevent overcharging and deep discharges through the battery's built-in protection circuitry ## Safety Notes {{< alert >}} The system requires a battery with built-in protection circuitry. The MPPT system does not include charge termination or overcharge protection - the battery itself must provide these safety features. {{< /alert >}} The CH32V203-based BMS monitors battery health and provides status information but does not control the charge/discharge limits. Ensure your battery can handle the maximum charging current from the MPPT system (up to 2.4A). ## Setup 1. **Connect Battery:** Connect your protected battery to the BMS board 2. **_connect MainBoard:** Connect the Battery Management Board to the MainBoard via the I2C bus connector 3. **Power On:** Power on the system and verify communication via MQTT ## Status Indicators The BMS board includes status LEDs, they behave like every normal powerbank (1-5 lights, animted if charging)