WattCycle BLE BMS implementation for ESPHome.
Tested with: ESPHome 2026.4.3, ESP32 WT32-ETH01, WattCycle 12V 100Ah Deep Cycle Trolling Motor Battery.
Should work with all WattCycle Bluetooth series batteries.
- Supports multiple batteries
battery_voltageTotal battery voltage, in Vbattery_currentBattery current, in Abattery_powerCalculated power, in WsocState of charge, in %remaining_ahRemaining capacity, in Ahtotal_ahTotal/full charge capacity, in Ahdesign_ahNominal design capacity, in AhcyclesNumber of battery cyclesmos_temperatureMOS/BMS temperaturepcb_temperaturePCB/BMS temperaturecell_spread_mvMax-min difference between cells, in mVcells_vList of individual cell voltages, in Vcell_tempsList of cell/probe temperatures, in °Cmodel_or_fwModel or firmware reported by the BMSmanufacturerManufacturer field, if provided by the BMSserialSerial or identification field of the BMS
external_components:
- source: github://frabnet/esphome-wattcycle-ble# BLE tracker
esp32_ble_tracker:
# BLE client
ble_client:
- mac_address: "C0:D6:XX:XX:XX:XX"
id: wattcycle_ble_client_batt1
# Optional: switch to enable/disable connection
switch:
- platform: ble_client
ble_client_id: wattcycle_ble_client_batt1
name: "BATT1 BLE Connection"
restore_mode: RESTORE_DEFAULT_ONwattcycle_ble:
- ble_client_id: wattcycle_ble_client_batt1
update_interval: 10s
battery_voltage:
name: "BATT1 Voltage"
battery_current:
name: "BATT1 Current"
battery_power:
name: "BATT1 Power"Please refer to demo.yaml to see all possible configurations.