I did an experiment with my Mini today on a beach where magnetic field distortion should be absent :
1) stick a small magnet to the nose of the craft to distort the local magnetic field before turning on the craft. The purpose is to create a yaw initilization error of about 110 degrees
2) remove the magnet after yaw initialization is completed ( video image shows up in the FLY app )
3) check on the map of the FLY app that the compass error stays ( arrow of the craft pointing to a very wrong direction )
4) move the craft to another position by hand ( motor off all the way )
5) check the compass error again on the FLY app.
Result : As long as the craft did not change in position, the error would stay but once the craft was moved, the error was reduced to zero in about 28 seconds. It appears that the flight controller is constantly checking whether the magnetic field is credible base on changes in GPS coordinates and make corrections along the way.
I have tried the same test indoor ( no GPS ) and the compass error stayed after the craft has been moved around.
View attachment 97057
I have repeated the test at another outdoor location. This time I have captured the screen of the FLY app showing the self-compass correction in action . The jerkiness of the video is because the gimbal was totally destroyed in a
recent crash caused by compass error .