Power meter for races

Couldn’t Zwift just have us connect both power sources on the connection page? That would seem to be the easiest way to to have dual recording. You could have it so you connect your primary then connect the secondary.

1 Like

you will probably need two ANT+ dongles or Ant and Bluetooth.

Article on how dual power meters in the ZRL Premier league here: Zwift Premier League, Week 3: The Cheating Episode | Zwift Insider

image

Even with dual recording seeing +5% over a minute which is enough of an advantage to win a race at that level.

If it is going to be required, yes, live dual measurement would be best.

But even with what we have the files shouldn’t be identical, that would indicate two power meters weren’t used. They should be close (1-3%) but better than that is unrealistic

i dont really trust the numbers from my direto x at all… my short power is not as good as my direto thinks

you can get discrepancies in power from two different meters just based on what temperature they were originally factory calibrated at, among other differences in the process… in that case, one could read higher than the other consistently below a certain duration and consistently under at a longer one when calibrated to your personal room temperature. differences are probably most apparent at shorter durations which is why if a trainer seems to over read at any point it’s going to be most obvious at 5s-1min on zwiftpower

… which is a good reason, if you’re after better levels of accuracy, to use a power meter which has built-in compensation for temperature.

you will probably need two ANT+ dongles or Ant and Bluetooth.

Nope. Zwift can both listen to and control multiple Ant+ devices. E.g. power meter, heart rate and trainer.

My normal setup is Power2Max, Computrainer via PerfPro CT Smart and a heart rate monitor, all via a single Ant+ dongle used by Zwift. I do have a second Ant+ dongle in the mix for the PerfPro CT Smart bridge, but that is not seen or used by Zwift, simply makes the Computrainer into an FE-C compliant trainer.

If all you want to do is record the data (not control) you can have a second Ant+ dongle and record everything in a separate application. The data from the interesting devices (heart rate, power meter, FE-C trainers) is sent as broadcast messages and any Ant+ dongle can receive them.

I have a python script that does this. Working on generating FIT files, but turns out there are no extant python libraries for writing FIT files!!! So it is an “interesting” problem as the FIT specification is … words defy me trying to describe it.

It would be possible to save both power sources’ data into a single FIT file, with the second source being a separate channel. But that would only be useful if other vendors (strava, training peaks, runalyzer, etc) would do something with it.

1 Like

I seem to recall using GitHub - dtcooper/python-fitparse: Python library to parse ANT/Garmin .FIT files quite some time ago for a quick and dirty graph comparison between PMs when I had a problem with a PM I had bought that I wanted to graphically highlight to the shop.

I also recall there was some C++ code samples in the ANT+ SDK, although that was also from some years back.

I don’t think ANT+ can listen to two power meters at the same time. But I can be wrong, I have not looked the the ANT+ protocol lately.

100% correct.

Companies dealing with tens of thousands of power meters know the actual facts. The accuracy claims are mostly make believe. Just open a couple hundred dual recordings. Funnily enough, many are far from 2% accurate.

For those claiming they have have two power sources that read near perfectly. Kudos to you, you lucked out. Extrapolating that to ‘all’ power meters are accurate is ludicrous. That just isn’t the case.

Power meters from the exact same manufacture are often different. Let alone different companies.

Talk to any coach with a large roster of athletes. They’ll set you straight immediately. It’s the wild west.

The solution. Who knows, it’s immensely complicated.

I’d think that there would need to be an independent testing body randomly verifying power meters from all manufactures. Chances of that happening? Slim to none.

So, we base our Zwift racing experience on this technology, seems we’ve got a fair way to go.

I’ll endeavor to re-find the V5 power info. It may have been DC Rainmaker? It wasn’t a secret. Just a decision to better match other power sources. I’m not sure if anyone knows the actual percentage they chose. I’d imagine it’s between 1 to 3%.

There are a bunch of python libs to decode fit files. I have not been able to find any that will create them.

Yes, there is a FIT SDK, C++, C#, Java etc. No python. And difficult to use outside of visual studio.

When listening to broadcast messages you see everything that is broadcast. Doesn’t matter if it is two similar profiles (e.g. two power meters) or two different (power meter and FE-C or heart rate.)

1 Like

If you wanted to collect multiple power readings with a single source, the only way I know of is a device called a WASP that will pull a boat load of ant+ streams into a single reading…

Pro teams use these to collect data when on the road and they can also be used in bike studios to display everyone’s power readings at the same time on a display.

1 Like

Hmmm, well that’s a lot of assertion backed up with bold text rather than actual data. I can’t drop it like that; something of an occupational hazard you see.

Let’s take a quick look at some data. I’m not going to open “hundreds” but a race I did on Saturday is useful for a decent amount of data because 22 people dual recorded, me included. It’s also my highest points scoring race, so I have a personal interest in the accuracy.

Now, there is an egregious example, though unhelpfully for the argument above the 14% high figure comes from a 4iii power meter not the much criticised herein Kickr v5 (which provided the low figure in this guy’s setup).

Without that (they still only finished 12th) we get the following:
Min 20min error: 0.26%
Max 20min error: 5.4% (they only finished 29th and again it was the Kickr that read lower)
Median: 1.43%
Mean: 2.08%
Mode: 0.x%
Number in 0%-3% range 17 of 21
1st Place error: 1.7% (given it was a sprint, worth saying his 5sec error was 2.4%)
My error (in 6th): 1w 0.38%

Doesn’t really back up your arguments for the most part

1 Like

I randomly selected a single race, opened a couple of files.

Found a couple of interesting comparisons immediately. One showing the trend I spoke about. V5 reading higher than pedal power meter. Not theoretically possible…

Another with what I’ve seen even more often, large variations in short power generation. Which is correct? Sometimes we’re talking about hundreds of watts.

generally neither. most likely the real value is somewhere between the two. it just comes down to how the offset is calibrated in the factory, the process, the temperature etc. these differences become less apparent the longer the interval. if you want lab grade accuracy you need a velotron or something like that.

by the way, i also vividly remember reading that the v5 was calibrated to compensate for drivetrain losses, but i also can’t find the source. so you’re not alone there

i thought about how trainers could be specifically built to artificially increase performance in eracing, certainly there is sponsor interest to have riders on their trainers winning these races… well, i dont really want anything to do with it anyway.

You could just pipe your power meter through the kickr using its power match feature and still obtain duals that “appear” slightly different due to recording noise. This shady practice is endorsed by a certain e-racing organisation. /end daily rant

1 Like

Kickr v5 still seems to read 3–5% under compared against crank and pedal meters so it doesn’t seem to be compensating. It would make sense to because it’s so consistent.

So on the contrary, the situation currently is that anyone running Zwift off crank or pedal meter will have an advantage and because of the way dual recording is evaluated — the graph is expected to be consistent and within tolerance — will continue to have the advantage unless Zwift applies correction based on power meter type.

I can’t imagine a way that this could ever be resolved.
I don’t race, and the majority of my Zwift rides are structured workouts in ERG.
I want consistency with my outdoor rides, so I usually use my Favero Assioma pedals to control my Kickr via the Wahoo app, not Zwift. When I use ZCA, I tend to get BT dropouts.
I record data from my pedals on my Garmin 530 & from the Kickr on my Garmin 935.
Here’s what I’ve noticed:

With the Wahoo App using my pedals to control the Kickr average power is usually 1w - 2w higher on the pedals than the Kickr, and remains so from start to finish
With Zwift using my pedals as my power source & Kickr as my controllable, the difference at the start of a workout or ride can be as much as 8w-9w higher at the pedals, but over the course of a ride will even out, and on workouts/rides of over an hour the Kickr will read 2w - 3w higher average power than the pedals.
In these two scenarios my power on Zwift usuially matches the power on my Kickr.
With the Kickr as both my power source & controllable (power match disabled in the Wahoo app) the difference varies, anywhere from ~2w to as high as ~9w, and this is by far the least consistent.
Last winter, with my same setup, this never varied by more than ~1w - 2w. Wahoo has analyzed my data and told me that the Kickr is within factory tolerances, and Favero has said the same about my pedals.
I keep the pedals on the trainer bike for the winter, but once outdoor riding starts those go on my road bike. I rarely do a Zwift workout in the summer, so the accuracy/consistency isn’t too important.

A friend of mine has been using a Kickr Core for two years, but just bought a KickrV5 for his vacation home. He’s noticed that on a given ride at the same perceived effort, he’s 10w higher on the core.
I have the same report from another friend who just switched from a Kickr Snap to a Core, 10w higher.

Add to this the dozens of different brands trainers & PM’s, and there’s no way to know what is accurate & what isn’t.

No sensor (PM, scale or even Quantum microgravitysensor) is really accurate - there’s always noise involved in any sensor reading. All you can hope for is an average reading within some (hopefully low) error limit. Bayesian filtering is one approach to combine readings from multiple sensors to obtain a combined reading which is usually more accurate than using a single sensor