Smart Batteries

ArduPilot supports one type of “smart battery” that communicates using SMBus:

While not yet very common, smart batteries are easier to attach and detach from the vehicle and are capable of providing more information on the state of the battery including capacity, individual cell voltages, temperature, etc.

Setup through Mission Planner


Set BATT_MONITOR to appropriate Smart Battery model Set BATT_BUS to the appropriate bus number

For adding more batteries, set BATT2_MONITOR & BATT2_BUS, BATT3_MONITOR & BATT3_BUS

Restart the board and connect with a ground station and check the battery voltage appears. The BATT_CAPACITY parameter should be automatically updated to the batteries actual capacity in mAh.


  • Battery “address discovery” is not supported so the battery must use the I2C address 0x0B (7 bit address). Most smart batteries use this address.