Stuck in low magnetic field (Check mag field errors)

I’m stuck with “Check Mag Field: 176, Max 875, Min 185” errors. Values I got varies from 160 to something that allows me to arm sometimes. Looks like it varies along the day and just can’t get it to arm in some long periods.

I’m not sure what these units are but looks like a divided earth’s nT magnetic field scale. If so I think things starts making sense to me (unfortunately). I live in the darkest dark blue you can spot in this map

If I’m looking the ardupilot scale correctly it means that there’s a high chance that even own onboard sensor accuracy is throwing me off.

I tried setting EK3_MAG_EF_LIM = 0 but didn’t help. This one probably for declination tables then (I guess).
Tried to check MAG_ and EK3_ from parameter list to spot things to try but couldn’t find anything interesting.

Disabling compass failures checks entirely sounds like no way.

Any ideas?

Do you calibrate the compass while you have a good GPS 3D fix ?

Did calibration a couple of times but not at very good conditions. 6~8 satellites fix usually in a semi open place (some walls nearby and metal parts like a roof, antennas and stuff).

I will try a next opportunity to be in a plain open place (or almost) and try the calibration. I report back.

Place I was trying to arm yesterday. But didnt bring laptop with me etc.

Thanks Shawn

That place should be fine.
Put the copter in Loiter mode, or set FENCE_ENABLE,1 and wait until it would be armable then do the compass calibration.

Do you use a Li Ion battery pack, or LiPo ?

Went to that field today. ARMING_CHECK, 1 and FENCE_ENABLE,1 and defined fence (inclusion). Waited like you said (as it would be armable). Got GPS fix (17 sats) and did calibration. Did many tests/flights for about 3 hours and was able to arm all the times without errors.

Using a 4S Li-ion pack. It looks good. Drone hover at about 100W and the pack gets just a bit warm if I use all the current (3000mAh)

Tested ALTHOLD good POSHOLD good RTL good, fence breach test good and a mini mission worked like a charm.

Back home many hours later armed drone once and it worked. Looks like procedure worked. Must watch from now anyway to confirm mag field issues will not repeat (or need to keep calibrating at every site/day etc).


A big factor will be the Li_ion pack - if you remove it for charging and replace it in a fractionally different position → the magnetic fields change.

Use Loiter instead of PosHold.

Probably remove the inclusion fence and just keep the altitude and radius.

Use the Initial Parameters section to check or set your failsafe voltages - select Li Ion, 4 cells.
Accept all the voltage related settings if you havent already done that.
Also set the failsafe actions:


It’s proven to be a mistake to fly without them or incorrectly set voltage levels.

1 Like

Many thanks for all the tips. I take note.

Yeah I actually hate the way battery hangs in there, a fancy strap. It looks wrong and inadequade (and loose). You gave me yet another reason to think about it fast. Maybe a slot, or anything that works better.