Following up on a report from early October, Gizmodo reported on Wednesday that a switch in Apple's accelerometer suppliers may likely be the cause of misreadings seen in the iOS 7 Compass app.
According to a teardown by Chipworks, the iPhone 5s now uses an accelerometer made by Bosch Sensortech, while older models of the smartphone employ STMicroelectronics silicon. Interestingly, STM still makes the three-axis gyroscope in the 5s.
Because component specifications differ from manufacturer to manufacturer, the new part does not behave in the same manner as those found in previous iPhones, meaning apps accessing its raw data will output incorrect readings. In our own anecdotal testing, we found the Compass app's level to be off by some three to five percent against a physical tubular spirit measure, even after recalibrating multiple times.
A more precise assessment of the apparent discrepancy was shared by RealityCap, a company specializing in sensor-based real-time 3D location software for iOS. As CEO Eagle Jones explained in a blog post, an accelerometer's accuracy relies on variance, or the consistency in readings, and bias, or constant inaccuracy due to manufacturing flaws.
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.
According to Jones, Apple would be able to remedy the issue by building in a recalibrated firmware bias at the factory. Alternatively, manual calibration can theoretically be accomplished on an app-by-app basis, a solution RealityCap is currently working on.
For its part, Apple remains mum on the matter.