• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Help Compass wildly inaccurate

lotus49

Android Expert
May 9, 2011
1,513
232
Yorkshire
The compass on my S4 is wildly inaccurate.

First of all, if the phone isn't absolutely level, the compass reading is almost random and I can make the needle rotate through 360 degrees just by tilting the phone.

If the phone is level, the needle might eventually settle in approximately the right direction but if I then slowly rotate the phone 360 degrees, it can easily end up with the needle pointing more than 100 degrees out. I just tried it now and quickly rotating the phone 90 degrees resulted in the needle pointing due E rather than N.

I'm a keen walker and I sometimes use my phone for navigation. The GPS works really well but the compass is so inaccurate as to be completely worthless.

Is this just my phone?
 
I've never used it. Have you calibrated the gyroscope? Settings/My device/motions and gestures.

What program are you using to show the compass?
I was using GPS Status but I have tried other compass apps and they were all equally terrible.

I have tried re-calibrating the compass and the motion sensors (again) and it slightly helped but it's still very unreliable. Even a slight deviation from completely level affects the reading by 20 degrees and rotating the phone while level results in the needle pointing in completely the wrong direction.

Digital compasses typically work "better" when in motion. They aren't the best "orienteering" device available. A cheap $10 peep through compass from Target works much better than most consumer level digital compasses. Just MHO.

BigRedGonzo

I do own a proper Silva compass that I have had for years and you are absolutely right, my phone is not about to replace that as a navigation device any time soon.
 
Upvote 0
Hello.
Glad that I found this posting. I intend on trying the *#0*# reference as soon as I can sit down and play with my phone some more.

My compass is the perceived problem in its connection with various sky/star apps...for some reason, my phone tends to think that I am at a far different place than I am. Hoping that this can get worked out.
 
Upvote 0
After posting the troubleshooting steps above, I had my phone replaced for a different reason. The new phone exhibits the same problems. It could be coincidence or it just may be that these S4s have crappy magnetic sensors.

Most people never notice because the mag sensor does not comes in to play in most situations. When people are using the Maps app, heading is coming from GPS. The only time they would notice a problem with mag sensor if they would select a view relative to your position (where top of map is direction you are facing).

I can calibrate my mag sensor and it's accurate for a little while but it always needs to be recalibrated after a day or if I restart my phone.
 
  • Like
Reactions: salgal1313
Upvote 0
As a user who found myself wanting to get the compass working, I eventually cracked it....

Three parts:

The first is that to actually work out where 'North' is from the magnetic sensors, the unit needs to know where 'level' is first. When you realise how much the magnetic declination is in most places, this makes sense. So you must calibrate the gyro, before calibrating the compass.

Then once the gyro is calibrated, calibrating the compass starts to give 'sensible' readings, but funnily only when the unit is not level.

Telling the compass app, to ignore the accelerometer, made it start to work when horizontal. I think it listens to motion perceived from this as an 'override' to the magnetic data, and when still and flat, the noise from this sensor drives things insane.

With these three steps done, my compass started to behave totally sensibly. :)

Hurrah.
 
Upvote 0
For me it was calibration using gps status.
The way I moved the phone made a big difference.
Several of the videos didn't work.
This video DID work for me:
https://www.youtube.com/watch?v=Rak2xhnk0qE

Note that when you rotate the phone about each axis, you should only rotate it 180 degrees back and forth (not 360 degrees). That's what he shows in the video and that's what works for me.
 
Upvote 0
The compass on my S4 is wildly inaccurate.

First of all, if the phone isn't absolutely level, the compass reading is almost random and I can make the needle rotate through 360 degrees just by tilting the phone.

If the phone is level, the needle might eventually settle in approximately the right direction but if I then slowly rotate the phone 360 degrees, it can easily end up with the needle pointing more than 100 degrees out. I just tried it now and quickly rotating the phone 90 degrees resulted in the needle pointing due E rather than N.

I'm a keen walker and I sometimes use my phone for navigation. The GPS works really well but the compass is so inaccurate as to be completely worthless.

Is this just my phone?
In the very near future, I will be introducing the world’s only correctable (compensated for residual [after calibration] azimuth deviation errors) smartphone compass app. With the introduction of my new smartphone (iPhone & Android) app, users will be able to evaluate the accuracy (or lack thereof) of any electronic compass, rangefinder compass, and/or smartphone compass app - with the results being made available to immediately correct residual azimuth deviation errors of the evaluated compass app or electronic compass.



I am offering you (vendors) the opportunity to correct residual azimuth deviation errors generated by your own smartphone compass app. The azimuth error correction process is quite simple; and you will not need to significantly modify your app. If you may be interested in taking me up on this offer, please contact me.



Also, please take a look at tru-path.org (and its various blog posts) to see actual test results of several iPhone compass apps (and rangefinders) demonstrating the magnitude and direction of real, significant residual azimuth deviation errors - along with the error correction results. Correcting smartphone residual azimuth deviation errors is fast, easy, and entirely practical using today’s smartphone technology. My next set of tests will be performed on Android compass apps; and, based on existing published user questions and comments, I expect to find results similar to those already posted.



Thanks for your time and consideration.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones