I am developing a navigation app which combines compass and gyroscope to withstand magnetic field disturbances which can be found in cities.

I am able to know what the magnetic field is supposed to be. In my location its 50μT. (Here I am hoping to find an api which gives me magnetic field from geolocation. Or I have to calculate it). Then I am able to detect if the magnetic field is for instance +- 10μT or greater to assume there is magnetic field disturbance with the magnetometer.

Then I am hoping to use the gyroscope until I get a accurate compass reading again.

Has anyone tried this? Would it work?

  • $\begingroup$ Why can't you use GPS? $\endgroup$
    – FooTheBar
    May 3, 2019 at 14:20
  • 1
    $\begingroup$ gps just gives me location. I am calculating which direction to go in the app. So I need to know which way the user is facing $\endgroup$
    – lolelo
    May 3, 2019 at 14:23
  • $\begingroup$ Any map app estimates velocity vector by taking first difference of positions given by gps sensor $\endgroup$
    – Long Smith
    May 3, 2019 at 15:15
  • $\begingroup$ If you still want to use gyro and magnetometer you should look at kalman filter $\endgroup$
    – Long Smith
    May 3, 2019 at 15:16
  • 1
    $\begingroup$ When reading raw data from iPhone I get a stable reading of 570 - 573 (of unknown unit: forums.developer.apple.com/thread/116222). When reading calibrated data I get a stable reading of 50.0 - 50.1 μT. No it does not appear too fluctuate. $\endgroup$
    – lolelo
    May 6, 2019 at 13:39


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.