DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

A short explanation of compass function, calibration and errors.

BACKGROUND

The aircraft compass is often misunderstood, both in terms of function and purpose, but it is important to understand what the compass measures, why, and what happens to that information.

At the most basic level the purpose of the compass is to measure the earth’s magnetic field in order to find magnetic north relative to the aircraft heading. At any point near the earth the magnetic field is a single-valued vector quantity described by field strength and direction, and the compass comprises a 3-axis magnetometer aligned with the principal axes of the aircraft (x, y, z), independently measuring the local magnetic field components parallel to those axes.

THE EARTH’S MAGNETIC FIELD

The earth's core is magnetized due mostly to rotation, with magnetic north towards the North Pole and magnetic south towards the South Pole, although the two axes are not perfectly aligned.






In magnetic terms, the earth's north pole is actually a magnetic south pole, and the south pole a magnetic north pole, and so the magnetic field lines emanate from the magnetic south pole and return to the north pole in the classic bar magnet pattern, and so at any point on the surface of the earth the magnetic field lies at an angle to the ground, (except near the equator where it is approximately horizontal) called the inclination, and points towards the magnetic north pole.

Since the magnetic north pole and the geographic north pole are not in the same place there will, in general, be an angle between the horizontal component of the magnetic field lines (that point to magnetic north) and the direction of the geographic North Pole (true north). That angle varies by location since, as you look to the north, the apparent relative positions of magnetic north and true north depend on where you are. That offset is called the declination (or variation). So if you also know the declination (you have to know it based on your location since there is no way to measure it) then you can subtract the declination angle to determine where true north is.

Back to the compass - its only job is to determine the direction of magnetic north, and to do that it measures the direction (relative to the aircraft) of the horizontal component of the local magnetic field. If the only magnetic field that it saw were the earth's field then that would be trivial, but the aircraft, itself, has a magnetic field due to internal ferromagnetic components which will, in general, change the direction of horizontal component of the field.

Luckily, magnetic fields follow the Superposition Principle, which means that if two separate magnetic fields interact, the net field vector at any location is simply the vector sum of the individual fields. So, if the magnetic field of the aircraft can be independently measured then, with the assumption that it doesn't change as the aircraft moves around, it can simply be subtracted from the total magnetic field measured by the compass to leave just the earth's magnetic field.

COMPASS CALIBRATION

Measurement of the aircraft’s internal magnetic field at the compass location (it won’t be uniform throughout the aircraft) is achieved by the calibration process since, as the aircraft is rotated, the earth's magnetic field appears to rotate while the aircraft's magnetic field stays constant. The orthogonal rotations in the calibration process allow those two fields to be separated mathematically, and the FC now has the aircraft's magnetic field (the calibration) stored. It subtracts that from the measured field in flight, takes the horizontal component of the resulting field (now assumed to be just the earth's) and thus knows its heading relative to magnetic north.

CORRECTING TO GET TRUE NORTH

However, for navigation the FC needs the aircraft heading relative to true north, since that is the basis of the coordinate system for positioning, such as latitude/longitude. To calculate that heading it has to add the local declination value. There is a common misconception that somehow the calibration process determined declination but it should be obvious that it cannot do that. The orientation of our coordinate system is arbitrary relative to magnetic north and there is no way, as I mentioned above, to figure out the difference between true north and magnetic north with a compass; you have to know the declination separately by looking it up on a map, or calculating it approximately using spherical geometry and knowing the relative positions of the true north pole, the magnetic north pole and your location or, for the most accurate results, using your location with a global model of the earth's field.

The FC does the latter - it has a stored global magnetic field model in firmware and as soon as it gets a GPS position lock on startup it computes the declination (and inclination) from the model and adds the declination to the magnetic heading from the compass. Now it has true heading. That process is documented in the DAT file.

COMPASS INTERFERENCE

Note that all this assumes that there are no other magnetic fields present - only the earth's and the aircraft's. If there are other fields due to ferromagnetic structures, large or small, then the aircraft may or may not be able to detect their presence. The FC has field strength and magnetic field inclination criteria for acceptable measured magnetic field. On the M2, and quite possibly all the models, the total field strength is expected to be in the range 1400 - 1800 µT, as documented here and shown in the graph below. But beyond that, any local field potentially just changes the apparent direction of magnetic north and, if that error is significant, leads to all the common problems after takeoff.

View attachment 104335

The relationship between compass interference values and magnetic field strength.

Those flight problems are also not obvious in their origin - many people ask why, since very local magnetic interference will go away after takeoff, the problem only manifests afterwards during flight. The answer lies in the way that the FC actually computes heading (yaw). The primary yaw sensor in flight is not the compass - it is the rate gyros - i.e. the heading is primarily tracked inertially in flight, not magnetically. The IMU heading is initialized using the compass heading, before takeoff and after the declination has been computed. Once airborne the compass is only used to correct for drift in the rate gyro data. So if, after takeoff, the magnetic interference goes away, then the compass heading will change without the IMU ever detecting rotation of the aircraft, and the IMU and compass now disagree by far more than the drift correction algorithm can handle. That's the source of all the compass and yaw errors and, since the FC now doesn't know which way it is pointing, it cannot navigate and, unless it quickly switches to ATTI mode, will fly uncontrollably if it tries because it will try to correct for course or position deviations by applying thrust in the wrong direction. That has been the cause of almost all so-called “flyaways”. Any error over 30° or so can cause flight control problems, and anything over 45° will lead to loss of control. Around 90° leads to the classic toilet-bowl flight profile, while 180° causes a simple linear accelerating flight in exactly the wrong direction.

INTERFERENCE CORRECTION

I wondered for some time why DJI didn’t add some code to notice the compass change at takeoff from a magnetically distorted site. On takeoff, as the aircraft climbs out of the local interference but the rate gyros detect no rotation, the obvious correction is simply to re-initialized the IMU heading to the new compass heading. In fact they did exactly that with the second firmware upgrade to the Mavic 2, but previous models still don’t do that. It appears that the Mini and the Mavic Air 2 might have that functionality, but not yet confirmed.

There is also the question of "bad calibrations" - can they happen? I think there are a few scenarios in which that might occur. If the user is wearing something magnetic that may make it appear to be part of the aircraft's magnetic field. Or if the magnetic field is local enough to vary as the aircraft is rotated - that might have a similar effect.

COMPASS INTERFERENCE AND CALIBRATION MESSAGES

A persistently confusing issue is the well known message at power up: “Compass error. Move the aircraft or calibrate the compass.” It’s confusing because it often isn’t even accurate; it can mean several different things, a couple of which are not errors at all:
  1. The magnetic modulus (total magnetic field strength) is outside the expected bounds (error);
  2. The magnetic inclination is incorrect for the location (error);
  3. It is more than 30 days since the last compass calibration (M2 and newer models) - not an error - a firmware trigger;
  4. The aircraft is more than 50 km (30 miles) from its previous takeoff location - not an error - a firmware trigger.
(1) and (2) may be the result of local interference, in which case calibration is unnecessary, and moving the aircraft is appropriate. Or they may be the result of a change in the magnetic field of the aircraft itself, either due to components added/removed or components becoming magnetized due to exposure to a strong external magnetic field, in which case moving won’t help and calibration is required, or possibly even demagnetization of the aircraft.

To be fair to DJI, the causes of (1) and (2) cannot easily be distinguished and so the message is reasonable, but it would be much more helpful if (3) and (4) were explicitly spelled out with a different message.

The only way to be certain about what is going on and to establish whether it is safe to fly is:
  1. Check the aircraft orientation arrow on the map - it should be pointing in the same cardinal direction as the aircraft on the ground;
  2. Check the magnetometer interference values in the app - if they are low (green) then the magnetometer readings are within specification.
(1) should be regarded as an essential pre-flight check - every flight. It would cut flyaways to nearly zero. But neither of those checks is recommended by DJI, which is rather unfortunate. If the app is going to recommend just one essential check before takeoff - it really should be the orientation arrow which is far more likely to be a problem than an incorrect home point.

If the magnetometer interference readings are high or the aircraft orientation arrow is incorrect then there is magnetic interference at the compass - either external or internal - and moving the aircraft or calibrating will be required. If the interference values are low and the arrow is correct then the message was due to (3) or (4). You can recalibrate as requested but the aircraft is good to fly, and you can actually ignore the message - it will go away on motor start, but come back on the next power up.

Of course the question still remains - why do some models request periodic recalibration? Previous models didn’t do that. Worse still, the user manuals for DJI aircraft have been completely random on the subject in the past - some recommended only calibrating when requested and some recommended calibrating when moving any significant distance. Time was not previously a stated reason. The distance recommendation led many people to assume, incorrectly, that it had something to do with compensating for magnetic declination, but of course that’s physically impossible. So it's currently unclear why this was implemented. It could be that the DJI engineers decided that transport was one common cause of exposure to magnetic fields, or that periodic calibration might help to keep the compass performing closer to nominal. There is certainly no obvious physics-based reason.
Wow! I knew these drones were smart, but had no idea that they first calculated exact location from g.p.s. and then determined the declination for magnetic north at that location.

So, Joe Friday, your explanation rules. The one question remaining for me is, how far from my metal camper do I have to be not to throw my drone and remote controller off on these initial calculations? If there is any interference I am assuming I would be cued to change positions.

No, two questions. On my screen display, how can I turn the lower left indicator of my drone’s direction so that north is straight up instead of in the “East” position at 9:00?
 

Hello, this compass stuff has been going on for a long time, I think I understand it. :rolleyes:
Did you read the whole thread?

"On my screen display, how can I turn the lower left indicator of my drone’s direction so that north is straight up instead of in the “East” position at 9:00?"

Screen display, what Mavic are you using?

When the compass is calibration is good, the compass will be correct.

Anybody chime in if I'm wrong, this makes a lot of crashes and missing birds. (IT RUINS YOUR DAY) 👌

Rod ..
 
...The one question remaining for me is, how far from my metal camper do I have to be not to throw my drone and remote controller off on these initial calculations?
This question is only valid if the distance you get in some way always can guarantee that the compass isn't affected... & you will never get a such distance from anybody here, if you're really curious about your camper specifically, try it out with a handheld compass... if that is deflected, then your drones compass most probably will be deflected also.

Instead you should get a understanding of 1. that the compass in the drone can be deflected if close enough to something ferro magnetic, 2. which consequences that can lead to once airborne, 3. how to check if the compass have been deflected before you take off... & 4. which drill you can use when you power on your drone if unsure about possible surrounding magnetic interference.

First up...

What matters is if the compass is deflected or not during the powering up of the drone (from button push to when the live screen turns up on the screen you use).

Proposed drill you may well use every time you power on your drone...

To mitigate the risk of having a deflected compass during power up... hold the drone in your outstretched hand (without big watches, bracelets, rings or metal buttons/zippers on the clothes near the hand. Power it on & hold it there leveled until the live screen have turned up on your screen. Once the live view is ready you can put the drone where ever you want for a take off.

Check off if everything is good for take off...

While you wait for that the HP to be recorded you bring up the map view in the app... there check so that the drone icon (an arrow) points equal in relation to other objects on the map as the drone does in reality... if the map says that the drone points perpendicular to a road in front of it & the drone does that in reality, all is fine... if not you need to power down the drone... move to another spot & repeat.

If you doesn't follow or understand above 3 points the consequence may very well be...

That your drone will have wrong information about in which direction it points. This will lead to that the flight controller uses the wrong motors to fight outside forces like wind... this in turn leads to a ever growing positional error that the flight controller in vain tries to correct with the wrong motors... this very quickly leads to a uncontrollable flyaway.
 
  • Like
Reactions: RodPad
I’m flying Mavic 2 Zooms.

I’m referring to the display on the bottom left of my iPad display. It is the fixed display that has “North” at the 3:00 position (I misspoke in my original posting). The center icon arrow rotates to show what direction the drone is facing. “East“ is in the 6:00 position; “South” the 9:00; and “West“ the 12:00.

It’s a minor inconvenience, but not the conventional compass display. It doesn’t match the display on the bottom right that has an arrow pointing in the conventional compass direction. That arrow trails a straight green line back to home, showing the direction to follow in returning.

It would just be cleaner if all the telemetry mirrored shared information. Since I can’t find any setting that would allow a counterclockwise turn of 90 degrees, I expect I’m stuck with this.
 
This question is only valid if the distance you get in some way always can guarantee that the compass isn't affected... & you will never get a such distance from anybody here, if you're really curious about your camper specifically, try it out with a handheld compass... if that is deflected, then your drones compass most probably will be deflected also.

Instead you should get a understanding of 1. that the compass in the drone can be deflected if close enough to something ferro magnetic, 2. which consequences that can lead to once airborne, 3. how to check if the compass have been deflected before you take off... & 4. which drill you can use when you power on your drone if unsure about possible surrounding magnetic interference.

First up...

What matters is if the compass is deflected or not during the powering up of the drone (from button push to when the live screen turns up on the screen you use).

Proposed drill you may well use every time you power on your drone...

To mitigate the risk of having a deflected compass during power up... hold the drone in your outstretched hand (without big watches, bracelets, rings or metal buttons/zippers on the clothes near the hand. Power it on & hold it there leveled until the live screen have turned up on your screen. Once the live view is ready you can put the drone where ever you want for a take off.

Check off if everything is good for take off...

While you wait for that the HP to be recorded you bring up the map view in the app... there check so that the drone icon (an arrow) points equal in relation to other objects on the map as the drone does in reality... if the map says that the drone points perpendicular to a road in front of it & the drone does that in reality, all is fine... if not you need to power down the drone... move to another spot & repeat.

If you doesn't follow or understand above 3 points the consequence may very well be...

That your drone will have wrong information about in which direction it points. This will lead to that the flight controller uses the wrong motors to fight outside forces like wind... this in turn leads to a ever growing positional error that the flight controller in vain tries to correct with the wrong motors... this very quickly leads to a uncontrollable flyaway.
I fly from this location frequently with very few problems, so I suppose I should have been satisfied that the camper was far enough away (maybe 8 ft.) not to be responsible for any anomalies on other flights.

Your suggestion about checking with a conventional magnet compass is excellent. “If I only had a brain” I might have been able to think it up myself!
 
  • Like
Reactions: RodPad
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Forum statistics

Threads
131,117
Messages
1,559,995
Members
160,094
Latest member
odofi