I was at Interbike for the first time this year, and a big trend was crank arm-based power meters. There were at least three there: Rotor Power, Pioneer, and StagesOne. The fundamental physics behind each of these three units is the same: to propel the bike force is transmitted via a mechanical path: pedal body to pedal spindle to crank arm to (left side only) bottom bracket spindle to spider to chainring to chain to cassette to free hub body to spokes to rim to tires to road.
You can in theory extract propulsive torque anywhere along this path, and when combined with rate of rotation, convert the torque into power. In the case of the crank arm-based models, torque applied to the crank arm bends it, a bending moment proportional to the torque. To decent approximation the bending is proportional to the moment, and is thus proportional to the torque, so if you can measure bending then with suitable calibration (for example, hanging a known mass from a pedal orientated horizontally) you can determine the torque.
It sounds simple, but the devil's in the details, and it's in the details that these units differ. There's the additional issue that torque is of less interest than power, so you additionally need to determine at what rate the crank arm is spinning. Here as well the units differ.
Rotor Power (my photo from Interbike)
Rotor Power (my photo from Interbike)
I'll start with Rotor. Rotor does the "obvious" thing, which is to drill holes in the crank arm and insert strain gauges into the holes (the holes are already there for mass reduction). When the crank arm bends, the strain gauges located at different positions along the arm measure the bending. From a simplistic perspective measuring the bending at different positions seems redundant: the force is applied at well-defined positions (at the pedal spindle and at the bottom bracket spindle or at the spider interface), and therefore it might be assumed the crank arm bends the same way every time, requiring a measurement of strain at a single position only.
But reality is rarely simple. For example, in addition to a propulsive component of stress on the crank arm there is also a twisting moment: the further out the position at which the force is applied to the pedal, the greater this twisting moment. Twisting the crank-arm does not directly contribute to propulsion. For two different twisting moments, for the same propulsive torque, it's possible a single gauge will measure different readings. Measuring at multiple positions can in theory at least allow a more precise extraction of the propulsive component of stress. I've not modeled this but it would be interesting to see a finite-element analysis of the crank-arm to see if it's an important factor, and if multiple strain-gauge positions can help isolate the propulsive torque.
Pioneer, view from outside of crank: sensor pack is behind crank arm (my photo from Interbike)
The other two meters, Pioneer and Stages, take a different approach, attaching external modules to the crank arm. They measure the deflection externally: at the crank arm surface. Since the modules are relatively compact, the measurement is restricted to a relatively local portion of the crank arm. Given the choice between more or fewer sensors, I'll always take more, but I can't comment on the degree to which precision is compromised by the external sensor approach.
Of equal importance to extracting torque is extracting rate of rotation. I asked Rotor how they extracted this, if they used a magnet, and I was told "of course you need a magnet". From what I could tell from the conversation, they follow SRM and SRAM/Quarq's example of using a single magnet which records a pulse every time the crank rotates. This is a problem because from it you can only extract the average cadence during the period since the last rotation. Since cadence is constantly varying, for example when stomping up a steep hill at low cadence, or when spinning along with eccentric chainrings such as those Rotor sells, the rate of rotation is varying in a fashion which is correlated with the applied torque, and as I've described before, that introduces an error which can easily exceed the claimed 2% accuracy which is industry standard. Additionally, for cadences less than the reporting rate (typically 60/min), for some power reports, no cadence number may be available. Rather than wait for a cadence number to become available, delaying the reporting of a power number, the unit is forced to make assumptions. This can be a relatively large error for that power number.
No photo of StagesOne, but these Bonk Breaker "high protein" bar samples were exceptionally tasty (my photo from Interbike)
So while Rotor wins in my estimation on torque precision they lose on cadence estimation.
Pioneer also use magnets but they use a multi-pole detector which generates blips multiple times during the crank rotation. They need this to plot their pedal-force diagrams showing how the force vector varies around the pedal stroke. This has the additional advantage that torques can be better synchronized with the cadence, improving power extraction precision.
Stages, on the other hand, uses accelerometers for cadence extraction. There's two primary ways to get cadence from acceleration: one is to use gravity (which is measured as an acceleration) which spins in circles relative to the crank arm as the crank arm spins. The other is to use the centripetal acceleration associated with the sensor in the crank arm orbiting in inertial space. The challenge is that there are acceleration components in addition to the centripetal component: gravity (just mentioned) and acceleration of the bike itself. The likely trick here, suggested to me on the WeightWeenies forum, was that the sensor measures acceleration at two different positions along the crank arm. If the crank arm is rigid these differ only in the centripetal component, so subtracting the two signals yields the centripetal acceleration of the pedal spindle multiplied by the ratio of the sensor separation to the crank arm length. The alternate approach, using the changing direction of gravity, requires taking the difference between subsequent measurements, and this is inherently sensitive to time variation in the other acceleration components. My money's on them using the centripetal acceleration taken at two different radii.
If this is what they do then I give Stages the win on cadence, followed by Pioneer, with Rotor a distant third.
But the deal-killer for me with Stages is that, at least for now, it's a left-crank-only system. Spider units get away with a single measurement because whether power is transmitted through the left or right crank arm, it goes through the spider. On the other hand installing a gauge in a crank arm measures only power transmitted from that side. Stages takes the left-side power and multiplies by two. This would be fine if people applied the same power from both sides, but they don't. Even if users could calibrate their L-R balance into the system, measuring it with a system which allowed for that (like Pioneer or Rotor), the balance varies depending on cadence, power, fatigue, recent injuries, etc. Stages claims 2% accuracy but if your L-R balance changes from 50% to 51% that's already a 2% error in power, not even considering the other sources of measurement error. So despite their claims that L-side-only isn't a problem, it absolutely is a problem, both from absolute accuracy and from precision over time for a given rider. I asked them about this at Interbike and was told "what we do for one side we can do for the other". So hopefully they'll come out with a two-sided system in the future.
Both Rotor and Stages rely on existing head units. Rotor uses ANT+ Sport communication protocol championed by Garmin. Stages goes one further by supporting both ANT+ Sport and Low-Power Bluetooth. The latter is supported by many smart phones, allowing phone apps to be used instead of dedicated head units and without adding hardware to the phone (there's ANT+ sport modules available). I'm a fan of specialized hardware: dedicated cycling head units will always outperform phones, I feel, although I exploit the convenience of the Strava Android app during short rides where the battery life and inferior display of the phone aren't important But for rides I care about I'll always use a dedicated unit like a Garmin Edge 500 or 800. Still, points to Stages for the flexibility of low-power Bluetooth.
In contrast, Pioneer has its own head unit, allowing it to display polar force diagrams for the pedal stroke. Additionally, it calculates a "force efficiency" metric, for which it has received support from Dynastream (who handles the ANT+ Sport protocol) and Garmin (who will incorporate it as an option on their Edge-series cycle computers). I've always had an issue with the concept of "force efficiency", since there's no reason to believe static force alone is a concern, and indeed in my discussion with the developer he admitted optimizing "force efficiency" was likely undesirable. However, no matter what you call it, it is likely an interesting number, to see how different pedal strokes correlate with the measurement. If you then see your number change, it implies your pedal stroke is in some way qualitatively changing, so it provides a degree of biomechanics feedback. The issue is there's infinitely many pedal stroke patterns which yield the same value for "force efficiency", so simply shooting for a target value isn't enough.
My real question, however, was how they measure the full force vector. When you apply torque via a crank arm, you bend the crank arm transverse to its length, like a diving board with a diver perched on the end. However, the perpendicular component of force is associated with the crank arm compressing or expanding along its length (like trying to shorten the length of a diving board by pushing on the end). This is the crank arm's stiffest direction, and I find it surprising they would be able to precisely extract a longitudinal strain. It would be easy to test, however: hang a weight from the crank with the crank hanging down (6 o'clock). If the meter can't accurately measure the weight then there's an issue.
So in summary, I like Rotor for being what appears to be the most robust design for measuring propulsive torque, but it's cadence extraction, despite being a tried-and-true approach which SRM has used for two decades, is suspect, especially for eccentric chainrings. StagesOne appears to have solid engineering but suffers from being left-side-only, something they'll need to remedy if data junkies are going to take them seriously. Pioneer promises the most, but ranks highest on the "I'll believe it when I see it" scale. If I had to commit to one of the three, Rotor clearly wins. Robust engineering counts for a lot in my mind.