The IMU heater has not reached its temperature yet
What ArduPilot says:
- PreArm: heater temp low (N.N < N)
Some flight controllers (the Cube family, for example) heat their motion sensors to a fixed temperature, because the sensors drift as they warm up. The message gives the temperature now and the lowest allowed for arming: BRD_HEAT_TARG minus BRD_HEAT_LOWMGN, in °C. Arming now would mean flying on sensors that are still changing.
What to do, most likely first
It was powered on a moment ago and is still warming up.
FixWait: a minute or two indoors, several minutes in the cold. The first number in the message climbs as it warms.
It is so cold or windy that the heater never reaches the target.
CheckThe temperature in the message stops rising below the limit.
FixShield the flight controller from the airflow, or keep it warm until just before the flight.
BRD_HEAT_TARGwas raised, orBRD_HEAT_LOWMGNmade very small.FixBring both back to the board's defaults.
Parameters to look at
| Parameter | What it is |
|---|---|
BRD_HEAT_TARG | Board heater temperature target |
BRD_HEAT_LOWMGN | Board heater temp lower margin |
The code that sends it
PreArm: heater temp low (N.N < N)
libraries/AP_Arming/AP_Arming.cpp AP_Arming::heater_min_temperature_checks() · Open in ArduPilot Copter-4.7.1