← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The battery failsafe has triggered

Act nowBattery and power

What ArduPilot says:

The battery monitor sends this, only while armed, the moment a battery crosses a failsafe level. “low” and “critical”: the voltage stayed under BATT_LOW_VOLT or BATT_CRT_VOLT for BATT_LOW_TIMER seconds (10 by default) without a break, or the charge left (BATT_CAPACITY minus the mAh used) fell under BATT_LOW_MAH or BATT_CRT_MAH, which acts at once. “missing, last:” means the monitor has given no reading for 5 s. The numbers are the voltage now and the mAh used since power-on. The aircraft then does what BATT_FS_LOW_ACT or BATT_FS_CRT_ACT says.

What to do, most likely first

  1. The battery is running down: the failsafe is doing its job.

    CheckThe voltage is near the threshold and the mAh figure fits the flight time.

    FixLand now, or let the failsafe action bring it back; do not change mode to keep flying. Next time land earlier.

  2. The voltage sagged under load for longer than the timer: a tired, cold or too small battery, or a long climb at full throttle.

    CheckIn the log the battery voltage dips in step with the throttle and recovers when it eases, while few mAh have been used.

    FixLand, then fly a battery that suits the current the aircraft draws. BATT_FS_VOLTSRC 1 makes the failsafe compare the sag-compensated (resting) voltage instead of the raw one.

  3. The thresholds or the voltage calibration do not fit this battery.

    CheckA full battery sets it off within the first minutes; compare the shown voltage with a multimeter.

    FixCalibrate the voltage reading, then set the thresholds for your cell count: the Setup & Tuning Guide's battery failsafe step works them out.

  4. “missing, last:”: the monitor stopped reporting (a loose power module lead, a DroneCAN or smart battery that dropped off the bus).

    CheckThe voltage in the message is the last one received.

    FixLand and check the monitor's wiring. ArduPilot takes no action of its own for a missing monitor, and while it is silent no low-battery failsafe can come.

Each level is announced once and stays set until the flight controller is rebooted; on Copter it then blocks arming with “Battery failsafe”. With BATT_LOW_TIMER 0 the voltage failsafes never trigger: only the mAh ones are left.

Parameters to look at

ParameterWhat it is
BATT_LOW_VOLTLow battery voltage
BATT_CRT_VOLTCritical battery voltage
BATT_LOW_MAHLow battery capacity
BATT_CRT_MAHBattery critical capacity
BATT_LOW_TIMERLow voltage timeout
BATT_FS_LOW_ACTLow battery failsafe action
BATT_FS_CRT_ACTCritical battery failsafe action
BATT_FS_VOLTSRCFailsafe voltage source
The code that sends it

Battery N is … N.NV used N.N mAh

libraries/AP_BattMonitor/AP_BattMonitor.cpp AP_BattMonitor::check_failsafes() · Open in ArduPilot Copter-4.7.1

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer