The Real Culprit Of The iPhone 5s Wonky Levels Is A New Accelerometer

ku-xlarge

One of the few issues facing owners of the new iPhone 5s is the compass and built-in level: they are woefully off, leading to drifting issues in games that require the accelerometer for steering. How could Apple mess up something so fundamental? According to a new teardown, it looks like the culprit is a new chip supplier.

According to developers RealityCap, the reason the level in the iPhone 5s is off is because they switched accelerometer suppliers. Previous iPhone devices used the STMicroelectronics accelerometers, but the iPhone 5S uses a Bosch Sensortech. And these two accelerometers don’t have the same specs.

You see, accelerometers depend on two measurements for accuracy: variance (how consistent an accelerometer’s readings are) and bias (which tells you how inaccurate the accelerometer is just through manufacturing).

Here’s the problem: the new accelerometer has a MUCH different bias than previously:

This is where we find the problem: the typical bias for the ST part is +/- 20mg, while the Bosch part lists +/-95mg. This almost 5x greater offset range is confirmed by our measurements, and is absolutely consistent with the failures being reported by users and the media. Specifically, a +/- 20mg offset range would translate to around a +/-1 degree accuracy range in tilt detection, and a +/-95mg offset translates to +/-5 degrees in tilt.

Weirdly, Apple could have fixed this in the factory through calibration but didn’t. Luckily, developers can compensate for it themselves:

It is possible to work around the problem by incorporating a calibration procedure into apps. This procedure would ask the user to place the device in different orientations to determine the accelerometer bias. Apps can then subtract this measured bias from the data coming from the accelerometer to get a corrected reading.

To make things easier for devs, RealityCap is planning on releasing code that will make the fix easily. Apple, meanwhile, does not appear serious about fixing the problem, leaving developers to do it for them.

Related
  • CharilaosMulder

    Apple should fix the offset with a software update, meanwhile produce improved M7 chips for all new 5s models with a different product ID which doesnt do software compensation. Devs should not touch this for preventing a possible mess, and users dont want to calibrate the accelerometer in each app (compass is a different story).

About the author

John BrownleeJohn Brownlee is a Contributing Editor. He has also written for Wired, Playboy, Boing Boing, Popular Mechanics, VentureBeat, and Gizmodo. He lives in Boston with his wife and two parakeets. You can follow him here on Twitter.

(sorry, you need Javascript to see this e-mail address)| Read more posts by .

Posted in News | Tagged: , |