My compass memo (pls correct me if something is wrong):
Compass raw XYZ should be -300 - +300, Mod 1400-1800, ideally just above 1400 (normal range is 750-2250).
Mod =SQRT(X^2+Y^2+Z^2)
There is no constraint about X, Y, and Z being [-300, 300]
If the calibration fails, use a magnet <3cm from the compass in all 3 axis to degauss the compass. The try to calibrate (might need several tries).
Compass calibration compensates for changing background magnetic "noise", a.k.a. magnetic inclination and deviation (not to be confused with declination). Inclination and deviation that isn't corrected through compass calibration will cause inconsistencies between GPS and compass that can result in "toilet bowl effect", a swirling motion that can cause the Phantom to fly out of control.
Magnetic deviation is a horizontal variation that comes from the Phantom itself and the equipment you have installed on it as well as the magnetic makeup of the area you are flying in (again not to be confused with declination). Sometimes the deviation will be insignificant, but other times it can be big enough to cause you to lose control. Inclination is a vertical magnetic variation that shifts depending on where you are.
Calibration measures the magnetic fingerprint of the surrounding area. By turning the compass 360 degrees, the Phantom can see where the compass reading doesn't smoothly increase or decrease. It uses this information to build an adaption table so that when the Phantom turns during flight, the reading is smooth and linear.
The ideal place to calibrate is an open field with nothing metallic in a 20ft radius. Keep away from drainage pipes, irrigation systems, rocks, etc.
* DO Calibrate
Mod value out of whack or compass error reported (check area first).
Circling in flight (also check for other possible causes).
New equipment added or removed / new firmware installed.
Location change (greater than ~100 miles).
Significant change in terrain (e.g. to / from mountains).
If you just degaussed your compass (BTW, don't degauss unless instructed).
* DO NOT Calibrate
If near concrete, buildings, and hidden or overhead power lines / pipes / etc.
If you're indoors, on a paved surface, on a stone surface, on the beach [sand often has iron in it], on a boat, on a balcony, near a car, near speakers, etc.
If there are metallic (ferrous) objects nearby or you're not sure
* Pre-Calibration Checklist
Everything used in flight should be powered during calibration, e.g. GoPro, tracker, etc.
Remove all metal from within 10ft radius, e.g. watch, phone, ring, belt, coins, controller.
Calibrate on grass or dirt and not on concrete, asphalt.
Calibrate on a level surface if possible.
A cardboard box is a good idea to get it off the ground and level.
* How to Calibrate
Power up your Phantom and accessories as normal.
Wait until your Phantom is ready to fly.
P1 / P2: Flip S1 five times between the top two positions.
P3: Select CALIBRATE under AIRCRAFT STATUS | COMPASS. Click OK.
Confirm solid yellow rear lights.
Pick up the Phantom and turn it smoothly and steadily a full 360 degrees until the lights turn solid green.
Point the front of the Phantom straight down and repeat until the lights turn off and resume normal flashing.
Note: Don't be concerned if your gimbal reacts poorly to being face down, keep turning as normal.
Optional: power off and restart Phantom.
Compass Calibration, A Complete Primer