iPhone 6: Comparing InvenSense and Bosch Accelerometers
eetimes.com
eetimes.com
Also, (a) ST microelectronics parts always had quality issues so I'm not surprised that they lost the socket to Bosch, and (b) I expect Bosch to be selling the BMA280 at cost or even at a loss. Bosch was a late entrant to the consumer electronics accel/gyro world, and has always been keen on price dumping to win sockets and market share.
edit: the more I think about this, the more I think that this is a situation where ST was the only loser. They had both the accel and gyro sockets before, but essentially lost the gyro socket to INVN and accel socket to Bosch. The integrated accel in the MPU-6700 is more of an add-on feature for low power on-chip sensor fusion that was not capable with the ST solution that was previously used (the DMP in the 6700 pre-dates the Apple M7 chip that was touted for low power activity tracking usage, but given that Apple has the M7, I'm not sure how much of its capabilities are being used. My guess would be that it is only the on-chip 6-axis SF that they are using). The ST socket was simply taken by Bosch.
Apple have a separate Cortex-M3 which is branded as the "M7" or "M8" motion processor. Is this what they use for step counting when the A8 is suspended? Why not use the Invensense for that? Is the M8 + Bosch less power?
IIRC there are accels that have a built in step counter (via hardware circuitry). I do not recall if Bosch has this, but the problem is that because it is a hardcoded hardware feature of the chip, it cannot be altered for customers. Apple NEVER accepts software/algoriths from its vendors. Bosch may be willing to redesign the chip with a step counter algorithm that Apple uses, but Apple would not share this with Bosch. Thus it is likely that the step counter is run on the M8 + BMA280.
They are unlikely to use the INVN autonomous step counter algorithm either. Whether the M8 + BMA280 is lower power than the MPU-6700 is something that is (a) unknowable, because we don't know the M8 specs, and (b) moot, because Apple would never use a 3rd party activity detection algorithm.
I'm sure the Android Wear devices (which mostly use the MPU-6500) must use the DMP to detect when to power on (they can't keep a Cortex-A7 juiced up just to look at gyro/accelerometer numbers), and IMVN didn't have anything like that publicly advertised a few months ago (I haven't looked more recently, and haven't inspected the Android Wear ROMs yet).
(goes off and downloads Apple CoreMotion samples to see if they do this already)
The main problem that accelerometer have is that they are lineal sensors while human beings or animals use logarithmic ones.
What this means in practice is that it is very easy to saturate a sensor. You have sensors of 1, 2 or 3 maximun gs(gravity vectors of acceleration) while sudden movements could be bigger than that creating "out of range" samples.
What they probably do is use different scales for both accelerometers, giving them "HDR acceleration". E.g the low quality one at 10gs and the high quality at 2-3.
Furthermore, otation lag is typically intentionally added by the OEM as a usability feature is order to avoid flipping the screen orientation overly rapidly. Different OEMs will have different lag and sensitivity (ie angle detection thresholds) because their respective thoughts on ideal usability can differ dramatically.
If the screen is on then the power drain from the accelerometer running as fast as it can is tiny anyway.