Difference between the M7 and M8 coprocessors?

What's the difference between the M7 and M8 coprocessors? I've been unable to find a clear answer online. On the iPhone 6 webpage, Apple simply states:

When you’re in motion, the M8 motion coprocessor continuously measures data from the accelerometer, compass, gyroscope, and a new barometer. This offloads work from the A8 chip for improved power efficiency. And now those sensors do even more, measuring your steps, distance, and elevation changes.

Is the only difference the ability to track data from the new barometer?


Solution 1:

As you noted, the M8 coprocessor is able to collect data from the new barometer in the iPhone 6 series phones as well as the iPad Air 2, which provides a measure of relative elevation for floors climbed.

We may also speculate that it is more accurate and power-efficient, although whether accuracy improvements are up to the sensors or the M8 is hard to prove (software improvements would also come into play here, as CoreMotion attaches a confidence value to measurements, which could be tweaked in software).

However, Phil Schiller raised another point during his presentation that many people seem to have missed: the M8 chip is now also able to recognize cycling activities. This new capability is reflected in the updated CoreMotion API, as detailed here:

https://developer.apple.com/library/ios/documentation/CoreMotion/Reference/CMMotionActivity_class/index.html#//apple_ref/occ/cl/CMMotionActivity

The M7 only recognized stationary, walking, running, automotive, and unknown. The M8 adds the cycling property to the list.

It is worth mentioning that iOS 8 does not make use of this functionality, and that the iPhone 6 does not write cycling data to the Health app on its own. You will need a dedicated app for that.

Solution 2:

The M8 provides a cycling activity category as well as stairs ascended and descended. The M8 can also measure relative altitude using the barometer chip.

Solution 3:

As an end user, the difference is what device they are embedded. The barometer is additional data that might help with stairs and hill climbs, but I don't have good data on that living in the flat midwest portion of the US.

I get measurably better quality step data from my iPhone 6 (M8) than I do from M7 class devices, so presumably it collects more data for the same (or less) energy usage or is otherwise superior in sensing motion and discerning foot falls from riding a bike or other vehicles.

Specifically, the error of over reporting is lessened. The M7 gave me more credit for more steps than I took whereas the M8 gives me less extra credit, but still over estimates my actual step count slightly.

Since we can't obtain these devices in isolation - it's not really possible to reverse engineer the details of the chip implementations, but we can do empirical experiments and collect data about the same person moving with both devices attached to their body and compare the output of both systems. Also since iOS 8 runs on both hardware suites - the difference is likely how the firmware directs the devices to use power and the native abilities of the chipsets that causes differences in the data they generate.