← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The calibration failed: the field strength is far from what is expected here

Stops itCompass

What ArduPilot says:

The calibration measures how strong the field around the compass is (the “radius”, in milligauss) and compares it with what the built-in world magnetic map gives for your position (“expected”). If the readings would have to be scaled by more than 1.5, up or down, to match, the calibration is rejected. The first number is the compass, counted from 0.

What to do, most likely first

  1. The calibration was done next to steel or magnets, which add to the Earth's field.

    FixCalibrate again outdoors, well away from cars, fences and buildings.

  2. A magnet or power wiring on the aircraft sits right next to the compass.

    CheckThe radius is wrong in the same way wherever you calibrate.

    FixMove the compass away from them, or use the external compass.

  3. The sensor is faulty, or of a type whose readings come out on the wrong scale.

    CheckAnother compass on the same aircraft passes while this one fails by the same factor every time.

    FixUse the other compass and switch this one off for heading, or replace it.

Parameters to look at

ParameterWhat it is
COMPASS_SCALECompass1 scale factor
COMPASS_SCALE2Compass2 scale factor
COMPASS_SCALE3Compass3 scale factor
The code that sends it

Mag(N) bad radius N.N expected N.N

libraries/AP_Compass/CompassCalibrator.cpp CompassCalibrator::fix_radius() · 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