It’s possible that a new supplier for the accelerometer found in the iPhone 5s could be causing the incorrect compass and level measurements being reported with the device.
RealityCap CEO Eagle Jones read into the Chipworks teardown of the iPhone 5s (via Gizmodo) and noticed that the phone uses the Bosch Sensortech BMA220 as its accelerometer. The iPhone 5, for example, used an accelerometer from STMicroelectronics.
While both devices have similar errors in their measurements, the Bosch device has a larger measurement “bias.” The result, says Jones, is that the new accelerometer has a different “zero-g offset” which would require compensation to be built-into the software.
“The second key spec for accelerometers is the zero-g offset, or bias. This indicates the range for a roughly constant offset that will be added to every output sample of data due to manufacturing variance. This can also change over time due to mechanical stress or temperature variation. 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.”
Jones does note that developers can compensate for the increased offset, as it is unlikely to change significantly from one measurement to another. He also says Apple could so a system-wide OS fix to ensure accurate measurements.