So, I finally got my first Android device, a Sero 7 Pro tablet. It's a lot of fun, and I see a lot of useful apps too. But I seem to be having a problem with any app which has a compass function, which no amount of attempting to calibrate will fix.
Most simple compass apps will lock on to the correct orientation with just a little simple moving around. If not, a few figure-8 movements as recommended all over the net will get them going. However, 99% of them don't react smoothly. No matter whether they're pointing in the right direction or not, they jitter. I had assumed that it was a problem with interference from everything in my computer/radio room, so I went outside. Same behavior.
Now, getting a little more technical... One of the apps I really wanted to run was Satellite AR, which will use the camera and magnetometer to give you a picture of where satellites are in the sky. Unlike most of the simple compass apps, it actually tells you when it thinks it needs to be calibrated. The problem is that it ALWAYS thinks it needs to be calibrated. No amount of figure-8's will get the message to go away. Even when it seems to be pointing in the correct direction to the best of my ability to determine (I've installed quite a few dishes in my time, it's a hobby), it still jitters. Sometimes, just walking around casually with the tablet, or even setting it down flat, the unreliable-compass message will go away, but as soon as I move it at all, in any direction, the message comes back.
Determined to get to the root of the problem, I downloaded the Survey Compass app, which will also tell the user when it needs to be calibrated. I found exactly the same behavior as I did in Satellite AR -- it claims low accuracy no matter what I do, except sometimes when I set down the tablet, it says high accuracy until the moment I pick it up again. In addition, when it claims low accuracy, it also claims that the magnetic field is too strong.
So, getting somewhere at last, I picked up a third app, Sensor Viewer, which provides a realtime graph of the magnetic field. As expected from my experience with Survey Compass, it shows that the magnetic field is abnormally high in one axis. But like the other apps, it doesn't appear to really be a magnetic field! I can go outside into the middle of the yard, which is nowhere near anything that would be generating an artificial magnetic field, and the same thing happens. But the part that's the most puzzling is how it'll sometimes (but NOT all the time) settle down when the tablet is laying still, and act up again as soon as I touch it.
At this point I assumed that I had a bad magnetometer. So I tried the same apps on my girlfriend's tablet (same model, bought at the same time and place) and it does exactly the same thing. So, do all the Sero 7 Pro's have bad magnetometers? Or is there something else going on, like a driver issue? It seems to me that it could just be a case of the magnetometer being too sensitive. Is there a way to change the sensitivity or the scaling factor in the OS? (I was searching around the net a few nights ago and somewhere I found a similar report from a different device, where the user said that it was fixed by rooting the device and changing a line in a configuration file, but I was tired and I didn't save the page, and now I can't find it again! The thing that I DID find, however, was a bunch of posts from Nexus 7 (supposedly almost identical internals to the Sero 7) owners who said that their magnetometers all got flaky after a certain version of Android. Unfortunately, nobody seemed to have a fix! But it does give me hope that it could be a driver issue instead of a hardware issue.)
Most simple compass apps will lock on to the correct orientation with just a little simple moving around. If not, a few figure-8 movements as recommended all over the net will get them going. However, 99% of them don't react smoothly. No matter whether they're pointing in the right direction or not, they jitter. I had assumed that it was a problem with interference from everything in my computer/radio room, so I went outside. Same behavior.
Now, getting a little more technical... One of the apps I really wanted to run was Satellite AR, which will use the camera and magnetometer to give you a picture of where satellites are in the sky. Unlike most of the simple compass apps, it actually tells you when it thinks it needs to be calibrated. The problem is that it ALWAYS thinks it needs to be calibrated. No amount of figure-8's will get the message to go away. Even when it seems to be pointing in the correct direction to the best of my ability to determine (I've installed quite a few dishes in my time, it's a hobby), it still jitters. Sometimes, just walking around casually with the tablet, or even setting it down flat, the unreliable-compass message will go away, but as soon as I move it at all, in any direction, the message comes back.
Determined to get to the root of the problem, I downloaded the Survey Compass app, which will also tell the user when it needs to be calibrated. I found exactly the same behavior as I did in Satellite AR -- it claims low accuracy no matter what I do, except sometimes when I set down the tablet, it says high accuracy until the moment I pick it up again. In addition, when it claims low accuracy, it also claims that the magnetic field is too strong.
So, getting somewhere at last, I picked up a third app, Sensor Viewer, which provides a realtime graph of the magnetic field. As expected from my experience with Survey Compass, it shows that the magnetic field is abnormally high in one axis. But like the other apps, it doesn't appear to really be a magnetic field! I can go outside into the middle of the yard, which is nowhere near anything that would be generating an artificial magnetic field, and the same thing happens. But the part that's the most puzzling is how it'll sometimes (but NOT all the time) settle down when the tablet is laying still, and act up again as soon as I touch it.
At this point I assumed that I had a bad magnetometer. So I tried the same apps on my girlfriend's tablet (same model, bought at the same time and place) and it does exactly the same thing. So, do all the Sero 7 Pro's have bad magnetometers? Or is there something else going on, like a driver issue? It seems to me that it could just be a case of the magnetometer being too sensitive. Is there a way to change the sensitivity or the scaling factor in the OS? (I was searching around the net a few nights ago and somewhere I found a similar report from a different device, where the user said that it was fixed by rooting the device and changing a line in a configuration file, but I was tired and I didn't save the page, and now I can't find it again! The thing that I DID find, however, was a bunch of posts from Nexus 7 (supposedly almost identical internals to the Sero 7) owners who said that their magnetometers all got flaky after a certain version of Android. Unfortunately, nobody seemed to have a fix! But it does give me hope that it could be a driver issue instead of a hardware issue.)