AutoPilot on BlueROV not sending battery info


I have battery energy remaining, -1: what means that battery remaining energy is not sent by autopilot.
How can I make it work? Could you investigate? Please help.

Hi @ewi, welcome to the forum :slight_smile:

ArduPilot’s existing battery energy estimation strategy assumes the battery is always fully charged when the vehicle is turned on. I’m told there have been multiple discussions on the best ways to change that, but in the meantime the estimation approach is poorly suited for vehicles with batteries that are large enough to potentially have multiple flights/dives in a single charge, that may have the vehicle turned off in between (the resulting percentages can be off considerably).

Accordingly, ArduSub by default has the BATT_CAPACITY parameter set to 0 such that the “remaining energy” is reported as -1, which means QGroundControl shows the measured voltage instead of estimated capacity. Understanding a voltage offloads more of the required “processing” onto the human operator than an equivalent “percentage remaining” calculated by the vehicle, but also means that batteries with different chemistries and capacities can be used freely by an educated user, without needing intelligent algorithms and parameters implemented to turn safe limits and the user’s desired tradeoff between usable capacity and battery degradation into some form of percentage estimate.

Our battery product pages have a guides section that includes appropriate voltage levels for charging and discharging, and we are consistent with that approach in things like our Operation Guide.

That being said, if you really want to you can get a percentage to show by changing the BATT_CAPACITY to the actual value of the battery you’re using, just be aware that the estimate may not be accurate - especially if the vehicle has been turned on without the battery being fully charged.