Compass Calibration, A Complete Primer

But since, as I thought had already been agreed, calibration is only zeroing out the magnetic field of the aircraft itself which, presumably, has not changed just because you moved location, what would you be trying to fix with recalibration in that situation?

A fundamental fact of vector addition of forces is that any change in one or other of the forces causes a change in the final vector result.

Change of location gives a change in one of the forces that interacts creating the vector result.

Second - You and another may have agreed - but there is a bigger world out there !!

Nigel
 
Even I - despite others claims - know that Geo data is programmed - BUT it is averaged.

Datcon is acting as designed .............

That does not in anyway detract from the VECTOR addition in the dance ...

If Datcon was the total answer - then NO-ONE would be saying to 'dance' ....

The important factor is not the variation - but the resulting VECTOR of forces to resolve ...

Nigel
 
A fundamental fact of vector addition of forces is that any change in one or other of the forces causes a change in the final vector result.

Change of location gives a change in one of the forces that interacts creating the vector result.

Second - You and another may have agreed - but there is a bigger world out there !!

Nigel

Your post neither addresses my question nor makes any sense at all, and I've moved from thinking that you understand this pretty well to realizing that you really don't.

Imagine three perfect, orthogonal magnetometers rigidly attached to what we might refer to as the principle axes of a lightly magnetized structure that is free to rotate about all three axes, in the presence of an external magnetic field that varies in a known and smooth way (for the most part) in both direction and magnitude with location within a second, fixed, frame of reference (lat/long).

The goal is to know the orientation of the structure with respect to the fixed frame of reference. If the structure, itself, had no magnetic field, then the total magnetic field vector measured by summing the individual components, measured on the axes of the magnetometers, would simply be the local external field vector. And suitable knowledge of that external field vector at that location allows calculation or the orientation of the structure in the second frame of reference by a simple transformation.

However, if the structure is also magnetized then the field measured by the magnetometers is a linear combination of the local external magnetic field and the structure's magnetic field. The former changes as the structure rotates, while the latter does not. To fix that, all that needs to be done is to subtract the structure's magnetic field from the measured magnetic field, leaving just the external magnetic field. By rotating the structure around at least a couple of axes one can separate the unchanging internal field from the changing external field, yielding the necessary data.

That's all that calibration does - it determines the aircraft's own magnetic field (as seen by the onboard magnetometers) so that it can be subtracted from the measured magnetic field to leave just the earth's magnetic field, from which orientation is computed by transformation with pitch and roll. And the relationship between the local earth's magnetic field relative to lat/long is derived from a geomagnetic model, not from direct measurement at that location. The latter would not be possible since there is no absolute direction reference available to the FC to compare with the earth's magnetic field. To be more specific, since "vertical" is an absolute direction while "true north" is arbitrary, combining magnetometer data with accelerometer data would allow direct measurement of the inclination of the earth's field at that point, but not the variation (declination).

So explain again what you think that recalibrating as a function of location is actually measuring and correcting for.
 
Well said s104.
And with more foundational support as oppposed to jargon.

I have, in the past, substituted Calibration with Compensation which better describes the result of the ‘dance’. However DJI chose the former probably out of simplicity.
 
Well said s104.
And with more foundational support as oppposed to jargon.

I have, in the past, substituted Calibration with Compensation which better describes the result of the ‘dance’. However DJI chose the former probably out of simplicity.

Agreed - it really is compensation. Calibration implies comparing measurements to known values, which is not what is happening here.
 
I get it now .... OH Wowee !!

Bud is the developer of DATCON ...

Right ..................

Bud me ol'fruit ....

1. Please explain how your graphs show DJI P3 compass setting as you imply.

2. Please explain why you persist in saying external is not important and then you produce graphs and data that shows it IS !

Its one or other me'ol pal !

Vector result of external and internal is a fact and you can produce all the graphs you like based on YOUR program ... fact is you cannot get away from the fact that magnetism is all around ... and even your program accepts that inalienable fact !

I have to stop now ... I'm laughing so much it hurts ...

Sorry ...

Nigel
 
Agreed - it really is compensation. Calibration implies comparing measurements to known values, which is not what is happening here.

So where does it get its information from to compensate ?

Changing the word does not change its actions.

Nigel
 
.....

2. Please explain why you persist in saying external is not important and then you produce graphs and data that shows it IS !
.....l
You're mistaken. I never said that. What I did say is that the external magnetic effects can not be detected and then compensated for.
 
You're mistaken. I never said that. What I did say is that the external magnetic effects can not be detected and then compensated for.

I wish you would stop putting another wording or intent to mine ...

That's not what I am arguing about and I cannot understand why you persist ...

External flux and internal produce a vector addition of resulting flux that is compensated for ... otherwise there is no point in any calibration dance ................. I did not say that the P3 itself determines variation and compensates for it. I said that the P3 during the 'dance' detects and calibrates based on the vector result of flux it sees during that 'dance'.

I am running out of ways to word what is basically the same ******** thing !

There is no compass in the world ..... even a Gyro Compass that is NOT subject to external influence !! (Gyro Compasses are a different ball game all together with Precession and so on ... but point is made)

Oh bollocks ... I've had enough of this shite ..

If I stuck a magnet under your AC and you calibrate ... who's going to cry then ? Me ??

Nigel
 
Last edited:
*******
 
I wish you would stop putting another wording or intent to mine ...

That's not what I am arguing about and I cannot understand why you persist ...

External flux and internal produce a vector addition of resulting flux that is compensated for ... otherwise there is no point in any calibration dance ................. I did not say that the P3 itself determines variation and compensates for it. I said that the P3 during the 'dance' detects and calibrates based on the vector result of flux it sees during that 'dance'.

I am running out of ways to word what is basically the same ******** thing !

There is no compass in the world ..... even a Gyro Compass that is NOT subject to external influence !! (Gyro Compasses are a different ball game all together with Precession and so on ... but point is made)

Oh bollocks ... I've had enough of this shite ..

If I stuck a magnet under your AC and you calibrate ... who's going to cry then ? Me ??

Nigel

So you have now resorted to the random misuse of scientific words. What you are running out of is ways to word your misunderstanding of the subject.

If you are not interested in detailed explanations, then simply consider the following: the "compass" needs to calculate the external magnetic field to determine its orientation relative to the world frame of reference and, in order to do that, needs to subtract the internal magnetic field from the overall magnetic field that it actually measures, which is the vector sum of the two. It determines the internal field by the calibration process, by identifying the unchanging magnetic field components when it rotates. It knows the transformation between the external field and the world frame of reference, which varies with location, from its geomagnetic model, not via the calibration process.
 
Very funny sar ....
 
No one is disputing that VARIATION can be ignored. What you don't understand is that VARIATION isn't determined during the compass calibration. VARIATION determined at the beginning of the flight after the GPS coords are known.

Compensating for magnetic effects that don't rotate with the AC is mathematically impossible. If you know how this could be done then I urge you to publish your idea. You'll be famous.

And, please, it's not necessary to explain that external and on board magnetic effects are combined and the magnetometers can't separate them. This is a well understood concept and we are aware of it's implications.

Finally, your comment about it not being necessary to look at possible bad-calibration-causes-incident scenarios says a lot. Basically, what you're saying is that you don't need to look at evidence because you know it's true. When I see these posts it's always something like we know it was caused by a bad calibration because that's what causes these incidents. There is never any attempt at evidence based analysis. It's a text book example of confirmation bias and your description of the incident you witnessed is a good example. By your description it's also possible that the cause was just that the launch site was geomagnetically distorted and the calibration was not flawed.
I can personally confirm the last sentence from a crash of my own.
"the cause was just that the launch site was geomagnetically distorted and the calibration was not flawed"
Wild J hook flight caused by warming up IMU on top of a giant hidden metal bowl and heavy metal frame of a firepit, located under a wooden table top, hidden by an overhanging table cloth. Calibration was fine. The area of launch was not, and back then, in early P3P days, the DJI GO app gave no warning.

However, had I known to look at the aircraft heading on the map, before take off, it would have shown the aircraft pointing in the wrong direction on the map! Compass error, from geomagnetic distortions caused by the launching surface the aircraft was resting on!
 
Last edited:
  • Like
Reactions: JJErrico
Why Calibrate?
Compass calibration is important to safe, controlled flight. It compensates for changing background magnetic "noise", a.k.a. magnetic deviation (not to be confused with declination). 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.

What is Magnetic Deviation?
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.

Warning Signs
The Phantom can only detect when the compass is providing extremely poor (implausible) data. This typically occurs if you place it near a strong magnetic field or do not calibrate it properly. It will flash red and yellow lights and the P3/P4 will indicate a compass error in the app.

IMPORTANT: The lack of a compass error does NOT mean your compass is definitely working and calibrated properly.

MOD Value
This is the total magnetic field calculated using the "sum of squares" from the X, Y and Z axes. On the P2, you need to plug in the cable and use the assistant software. For the P3, you can see it in the app. It should be between 1,300 and 1,600, ideally 1,450. Check it away from magnetic influences. If it reads very high or very low, check it again in a different location. If it is still off, it could need calibration or it could be magnetized or damaged. The P4, P4P, Inspire 2 and newer models shows it as the difference from the ideal MOD value. It is the absolute value of the the ideal MOD value minus the current value e.g. ABS(1450 - MOD). The bigger the number, the more it is off.

IMPORTANT: A good MOD value does NOT mean your compass is working and calibrated properly. For example, if you calibrate next to some rebar, your mod value may still be OK until you fly away from the rebar.

What Does Calibration Actually Do?
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.

When Should I Calibrate?
You do not need to calibrate before every flight and in some cases you definitely should not calibrate. That doesn't mean you shouldn't ever bother doing it. It only takes one time for it to go very wrong. The most important aspect of compass calibration is making sure the magnetic "neighborhood" around your Phantom is consistent between calibration and during flight.

IMPORTANT: 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 or not flying straight (also check for other possible causes).
    • New equipment added or removed / new firmware installed.
    • Location change (greater than ~250 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, 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 / P4: Select CALIBRATE in the SENSORS section of the app. 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.
    • Enjoy your flight!
If for any reason, you do not complete any of the above steps smoothly and evenly, restart the process.
 
My 2¢
the magnetic sensor is a 3 axis sensor. Typical of these is the Honeywell HMC6343.
All of these sensor "calibrate" the same way. The calibration allows the device to compensate.
When they calibrate, they sense the magnetic disturbances around them and reprogram the device to account for those disturbances. The following is from the device spec sheet.

After entering the calibration mode, rotate the device reasonably steady for 360 degrees about the Y (Left
- Right) axis and then 360 degrees about Z (Up - Down) axis. During the first rotation, maintain the Y axis at Level as much as possible. Maintain the Z axis upright as much as possible during the second rotation and until the exit
calibration command is issued.
The first rotation can also be done by rotating 360 degrees about X (Fore - Aft) axis. Then exit calibration.
The calibration routine collects these readings to correct for hard-iron distortions of the magnetic field.
These hard-iron effects are due to magnetized materials nearby the HMC6343 part that in a fixed position with respect to the end user platform. An example would be the magnetized chassis or engine block of a vehicle in which the compass is mounted onto. Upon exiting the calibration mode, the resulting magnetometer offsets are updated.


This has absolutely nothing to do with declination variations. That is really not relevant because of the limited travel distance of the AC. Whether you are traveling true or magnetic north makes no difference - only that you know which way you are traveling from your launch point throughout your flight. IF, for some reason, it does make a difference then that correction is a function of a lookup in a table relative to GPS coordinates.

The problem is, presumably, when you are flying you are in "clear" air with no disturbances. If you calibrate the AC in unclean air, when you launch, the compass no longer can take accurate readings because it has compensated for unclean air.

If you are using a compass in a car, as in an onboard unit, the calibration compensates for the metal of the car and the compensation is applied to all future readings taken and it works because it is driving with the "unclean" air around it.

So if you launch or fly around disturbances, the compensation is invalid for those areas and you get bad readings.
Or if you calibrate around disturbances the compensation is invalid for clean air flying.

But if you calibrate the AC compass near disturbances, the only way it will be correct is if it flies with those disturbances around it.

Hope this helps.
 
My 2¢
the magnetic sensor is a 3 axis sensor. Typical of these is the Honeywell HMC6343.
All of these sensor "calibrate" the same way. The calibration allows the device to compensate.
When they calibrate, they sense the magnetic disturbances around them and reprogram the device to account for those disturbances. The following is from the device spec sheet.

After entering the calibration mode, rotate the device reasonably steady for 360 degrees about the Y (Left
- Right) axis and then 360 degrees about Z (Up - Down) axis. During the first rotation, maintain the Y axis at Level as much as possible. Maintain the Z axis upright as much as possible during the second rotation and until the exit
calibration command is issued.
The first rotation can also be done by rotating 360 degrees about X (Fore - Aft) axis. Then exit calibration.
The calibration routine collects these readings to correct for hard-iron distortions of the magnetic field.
These hard-iron effects are due to magnetized materials nearby the HMC6343 part that in a fixed position with respect to the end user platform. An example would be the magnetized chassis or engine block of a vehicle in which the compass is mounted onto. Upon exiting the calibration mode, the resulting magnetometer offsets are updated.


This has absolutely nothing to do with declination variations. That is really not relevant because of the limited travel distance of the AC. Whether you are traveling true or magnetic north makes no difference - only that you know which way you are traveling from your launch point throughout your flight. IF, for some reason, it does make a difference then that correction is a function of a lookup in a table relative to GPS coordinates.

The problem is, presumably, when you are flying you are in "clear" air with no disturbances. If you calibrate the AC in unclean air, when you launch, the compass no longer can take accurate readings because it has compensated for unclean air.

If you are using a compass in a car, as in an onboard unit, the calibration compensates for the metal of the car and the compensation is applied to all future readings taken and it works because it is driving with the "unclean" air around it.

So if you launch or fly around disturbances, the compensation is invalid for those areas and you get bad readings.
Or if you calibrate around disturbances the compensation is invalid for clean air flying.

But if you calibrate the AC compass near disturbances, the only way it will be correct is if it flies with those disturbances around it.

Hope this helps.
Not sure I understand all of what you said. But, a calibration can't compensate for any magnetic effects that don't rotate with the AC. I.e., if a "disturbance" is external to the AC it can't be compensated for by the calibration. It's not true that a calibration can be valid if the AC is near where it was calibrated but then invalid for other locations.
 
Not sure I understand all of what you said. But, a calibration can't compensate for any magnetic effects that don't rotate with the AC. I.e., if a "disturbance" is external to the AC it can't be compensated for by the calibration. It's not true that a calibration can be valid if the AC is near where it was calibrated but then invalid for other locations.

Exactly! Hence my use of a car to make that point. I did not say NEAR, but implied at the point of calibration. I guess I should have made that clear. As soon as the AC is airborne the compensation is invalid if it was not calibrated in clean air, or if it was calibrated in clean air and is now flying in unclean air.

What I am not sure of is if it is calibrated in clean air and launched from a steel plate what effect will that have.
It should fly just fine, but may have an issue returning home.

This might be an issue if you were trying to fly from a steel boat. You would calibrate somewhere on shore, get on the boat and launch. When flying away, from the boat, the compensation would be correct.

What I don't know is exactly what the compass used for? If it is GPS backup, then there is no issue unless GPS signal is lost. Since it is 3 axis, it may be used for attitude data. That would be a constant problem.
 
Exactly! Hence my use of a car to make that point. I did not say NEAR, but implied at the point of calibration. I guess I should have made that clear. As soon as the AC is airborne the compensation is invalid if it was not calibrated in clean air, or if it was calibrated in clean air and is now flying in unclean air.

What I am not sure of is if it is calibrated in clean air and launched from a steel plate what effect will that have.
It should fly just fine, but may have an issue returning home.

This might be an issue if you were trying to fly from a steel boat. You would calibrate somewhere on shore, get on the boat and launch. When flying away, from the boat, the compensation would be correct.

What I don't know is exactly what the compass used for? If it is GPS backup, then there is no issue unless GPS signal is lost. Since it is 3 axis, it may be used for attitude data. That would be a constant problem.
There is a basic misconception here. A compass calibration does not compensate for magnetic effects that are external to the AC. So it's not correct that a calibration is valid for one location and not another.

The scenario you're describing has been around for a long time. Calibrating at location with geomagnetic characteristics different from those in a flight will cause a compass related problems. At lot of the posts in this thread have made this claim. It just isn't true.

What can happen is that the AC is launched from a geomagnetically distorted location. An incorrect compass was used to initialize the Yaw to that value. After launch the compass becomes correct but the Yaw value isn't immediately corrected because it's determined mostly by the IMU data. No calibration at any location can keep this from happening. The only way to see if this has happened is to visually check that the heading indicator in the Go App map display is consistent with the AC's actual heading.
 
  • Like
Reactions: GadgetGuy
There is a basic misconception here. A compass calibration does not compensate for magnetic effects that are external to the AC. So it's not correct that a calibration is valid for one location and not another.

The scenario you're describing has been around for a long time. Calibrating at location with geomagnetic characteristics different from those in a flight will cause a compass related problems. At lot of the posts in this thread have made this claim. It just isn't true.

What can happen is that the AC is launched from a geomagnetically distorted location. An incorrect compass was used to initialize the Yaw to that value. After launch the compass becomes correct but the Yaw value isn't immediately corrected because it's determined mostly by the IMU data. No calibration at any location can keep this from happening. The only way to see if this has happened is to visually check that the heading indicator in the Go App map display is consistent with the AC's actual heading.
Exactly! If your heading arrow in the GO 4 app does not match the AC's true heading, expect a J hook immediately after launch! Ask me how I know! :eek:
 
What I am not sure of is if it is calibrated in clean air and launched from a steel plate what effect will that have.
It should fly just fine, but may have an issue returning home.
Try it and you could get a very unpleasant surprise, regardless of where the Phantom's compass was calibrated.
Never launch from a steel or reinforced concrete surface.
It would be asking for trouble.
What I don't know is exactly what the compass used for? If it is GPS backup, then there is no issue unless GPS signal is lost. Since it is 3 axis, it may be used for attitude data. That would be a constant problem.
The GPS gives position data, the compass gives directional and heading data - it tells the flight controller which way the Phantom is pointing.
It can't provide backup for the GPS. Neither can it provide altitude information.
 

Members online

Forum statistics

Threads
143,066
Messages
1,467,354
Members
104,933
Latest member
mactechnic