Cadence from KickR

 I see there was a previous request for Cadence to come from the kickR. The answer was that the KickR does not give Cadence. Yet, I have all the cadence from my ride as part of my .fit file that I can view later. It sure would be nice to view it during the ride.

 

The Kickr website states the following…

http://support.wahoofitness.com/hc/en-us/articles/204281694-Does-the-KICKR-measure-cadence-or-heart-rate-

I usually use both a P2M power meter and a Kickr when using Zwift.  Zwift is therefore controls the Kickr but gets power and cadence from the power meter.  I also record the P2M data to my Garmin Edge.

At the weekend I had a power meter issue so configured Zwift and Edge to use only the Kickr.  The Edge was unable to determine cadence and thus no cadence was written to the FIT file it generated and which was loaded into Connect.

Looks like the ride in Strava uploaded by the Zwift PC software though is showing cadence information.  I therefore question where the data that is being written to the Zwift FIT file is coming from as I do not believe that the Kickr was able to determine it and send it to Zwift over ANT+

The kickr doesn’t have a cadence sensor or an ability to measure cadence.  You need the wahoo rpm cadence sensor seperately to pick up cadence

http://www.wahoofitness.com/devices/wahoo-rpm-cadence-sensor

 

the kickr only broadcasts power and speed, you need to pair an additional cadence sensor.

your power meter may have been just broadcasting the cadence, if you didn’t remove the battery.

Matt Canna, you clearly have not tried it.  As the others have stated… if you ride with a kickr on zwift you will not have cadence shown in game.  But once you review the saved .fit file afterwards, it will somehow have cadence saved now.  The question is where is that data coming from, and why isn’t it shown in game if it’s coming from the kickr (as it’s assumed to be)?  I guess it’s possible that Zwift it somehow just creating a cadence from nothing that it then saves into the file… but that seems especially odd.

Matt Canna, thanks for the reply but I do not have a power meter or cadence on the trainer bike. Eric Denning summed up the issue. Have you tested a kickr and looked at the .fit file?

I’m struggling to see how the Kickr could accurately know cadence on any bike with gears.And we know it doesn’t broadcast cadence either.

Soi how does Zwift get that cadence data?

My best guess would be that zwift is detecting periodic variations in power (because nobody has an absolutely perfect pedal stroke) which could be used to estimate cadence ?

 

Hi Ben, I’m not sure where the cadence comes from either, but if you think there could be something within Zwift detecting the changes in power between pedal strokes then why couldn’t the Kickr have the same functionality built into it. Either way at the end of the ride I can see my cadence but not during my ride. Perhaps someone from zwift could chime in and give us a little insight as to where the cadence in the .fit file comes from? and explain why it can’t be given during the ride?

I repeat the kickr itself does not transmit broadcast any type of cadence.  

 

A powertap hub can broacast cadence but its an estimated cadence it has an algorithm to count peaks of the power stroke.

 

Are you looking at the .fit file after it is uploaded to some other site like strava?

Or if you have goldencheetah you can inspect the raw file. 

Matt, we repeat.  The .fit file has a full cadence channel in it… as already described several times above.  The cadence also looks fairly realistic and is in the realm of what I would expect it to have been (don’t know for sure, since no actual cadence sensor running).

So once again, the question is, where does this data come from and why is Zwift adding it into the saved activity file if it’s not “real” or transmitted from the kickr?

Here’s a kickr only zwift session with power and cadence channels turn on for the graph.  There were no other cadence or power meters even in the same room that day.

Matt, do you work with Zwift?

I import my Data into Garmin Connect. Similar graph for Cadence as Eric is has shown is the found in the ride summary.

Personally I don’t care if it comes from the Kickr or created by Zwift based on small power spikes in between strokes, if it ends up in the ride summary, it can show during the ride. 

I do find it odd that neither Wahoo or Zwift know where it is coming from nor want to take credit for the genius of getting a close to accurate cadence based on the small power spikes (If that is what it is). If neither company is doing this, talk to the power tap engineers and start doing it. 

Eric odz, what program did you use to get that graph?

A good way to test this to see if zwift is actually calculating cadence is to look in the log file.  I doubt it though.

Some programs can do virtual cadence based off power spikes.

 

I have worked with a variety of trainers and apps and different sensors.

 

WKO+   The raw data, straight from the .fit file, includes a full cadence channel… as indicated many many times.  Below is a paste of the start of that same ride graph above.

Elapsed Time    Power    Cadence    Speed    Elevation    Latitude    Longitude    Distance   
0:00:01    65    31    3.2    167    37.5405622    -77.4332660    0.0   
0:00:02    66    39    4.0    167    37.5405675    -77.4332821    0.0   
0:00:03    64    45    4.5    167    37.5405702    -77.4333036    0.0   
0:00:04    64    49    5.0    167    37.5405782    -77.4333304    0.0   
0:00:05    64    53    5.3    167    37.5405863    -77.4333519    0.0   
0:00:06    64    56    5.7    167    37.5405970    -77.4333733    0.0   
0:00:07    61    58    5.8    168    37.5406078    -77.4333948    0.0   
0:00:08    61    60    6.0    168    37.5406238    -77.4334270    0.0   
0:00:09    61    61    6.2    168    37.5406399    -77.4334484    0.0   
0:00:10    61    62    6.3    168    37.5406533    -77.4334753    0.0   
0:00:11    60    63    6.4    169    37.5406694    -77.4334967    0.0   
0:00:12    60    64    6.5    169    37.5406855    -77.4335289    0.0   
0:00:13    60    65    6.5    169    37.5406989    -77.4335504    0.0   
0:00:14    60    65    6.6    169    37.5407150    -77.4335825    0.0   
0:00:15    60    66    6.6    169    37.5407338    -77.4336040    0.0   
0:00:16    60    66    6.6    169    37.5407499    -77.4336255    0.0   
0:00:17    59    66    6.7    169    37.5407660    -77.4336576    0.0   
0:00:18    59    67    6.7    169    37.5407848    -77.4336791    0.0   
0:00:19    58    67    6.8    170    37.5407982    -77.4337113    0.0   
0:00:20    58    68    6.8    170    37.5408143    -77.4337381    0.0   
0:00:21    58    68    6.9    170    37.5408331    -77.4337649    0.0   
0:00:22    58    69    7.0    170    37.5408491    -77.4337918    0.0   
0:00:23    60    70    7.0    171    37.5408679    -77.4338186    0.0   
0:00:24    59    71    7.2    171    37.5408840    -77.4338454    0.0   
0:00:25    58    73    7.3    171    37.5409028    -77.4338776    0.0   
0:00:26    59    74    7.5    171    37.5409216    -77.4339098    0.0   
0:00:27    57    75    7.6    171    37.5409377    -77.4339366    0.0   
0:00:28    56    76    7.7    171    37.5409564    -77.4339688    0.0   
0:00:29    57    77    7.8    171    37.5409752    -77.4340010    0.1   
0:00:30    57    79    7.9    171    37.5409967    -77.4340332    0.1   
0:00:31    60    80    8.0    171    37.5410154    -77.4340600    0.1   
0:00:32    60    80    8.2    171    37.5410369    -77.4340922    0.1   
0:00:33    60    80    8.3    171    37.5410557    -77.4341244    0.1   
0:00:34    60    80    8.4    171    37.5410771    -77.4341619    0.1   
0:00:35    59    80    8.5    172    37.5411013    -77.4341887    0.1   
0:00:36    59    80    8.6    172    37.5411201    -77.4342263    0.1   
0:00:37    58    80    8.6    172    37.5411415    -77.4342585    0.1   
0:00:38    58    80    8.7    172    37.5411603    -77.4342960    0.1   
0:00:39    58    80    8.8    172    37.5411844    -77.4343282    0.1   
0:00:40    58    80    8.8    172    37.5412032    -77.4343657    0.1   
0:00:41    58    80    8.8    173    37.5412273    -77.4344033    0.1   
0:00:42    59    80    8.9    173    37.5412461    -77.4344409    0.1   
0:00:43    58    80    8.9    173    37.5412676    -77.4344730    0.1   
0:00:44    58    80    8.9    173    37.5412863    -77.4345106    0.1   
0:00:45    58    80    8.9    173    37.5413105    -77.4345481    0.1   
0:00:46    58    80    8.9    173    37.5413293    -77.4345857    0.1   
0:00:47    59    80    9.0    173    37.5413534    -77.4346232    0.1   
0:00:48    59    81    9.0    173    37.5413722    -77.4346554    0.1   
0:00:49    60    81    9.0    173    37.5413936    -77.4346930    0.1   
0:00:50    59    81    9.0    173    37.5414178    -77.4347305    0.1   
0:00:51    58    81    9.0    174    37.5414366    -77.4347681    0.1   
0:00:52    58    80    9.0    174    37.5414580    -77.4348110    0.1   
0:00:53    58    80    8.9    174    37.5414822    -77.4348378    0.1   
0:00:54    58    80    8.9    174    37.5415036    -77.4348754    0.1   
0:00:55    61    80    8.9    175    37.5415251    -77.4349129    0.1   
0:00:56    61    80    8.9    175    37.5415465    -77.4349451    0.1   
0:00:57    60    80    8.9    175    37.5415707    -77.4349827    0.1   
0:00:58    61    80    8.9    175    37.5415921    -77.4350202    0.1   
0:00:59    60    80    8.9    175    37.5416109    -77.4350524    0.1   
0:01:00    59    80    8.9    175    37.5416350    -77.4350899    0.1   
0:01:01    59    80    8.9    175    37.5416565    -77.4351275    0.1   
0:01:02    59    80    8.9    175    37.5416753    -77.4351597    0.1   
0:01:03    58    80    8.9    175    37.5416994    -77.4351972    0.1   
0:01:04    58    81    9.1    176    37.5417235    -77.4352348    0.1   
0:01:05    56    81    9.4    176    37.5417450    -77.4352670    0.1   
0:01:06    54    81    9.6    176    37.5417691    -77.4353045    0.1   
0:01:07    58    81    9.7    176    37.5417906    -77.4353421    0.1   
0:01:08    59    81    9.8    177    37.5418174    -77.4353796    0.1   
0:01:09    59    81    9.9    177    37.5418416    -77.4354172    0.1   
0:01:10    59    82    10.0    177    37.5418684    -77.4354655    0.2   
0:01:11    59    82    10.1    177    37.5418898    -77.4355030    0.2   
0:01:12    59    82    10.2    177    37.5419167    -77.4355406    0.2   
0:01:13    59    82    10.3    177    37.5419408    -77.4355888    0.2   
0:01:14    59    82    10.3    177    37.5419676    -77.4356264    0.2   
0:01:15    59    82    10.3    177    37.5419891    -77.4356639    0.2   
0:01:16    59    82    10.3    177    37.5420159    -77.4357069    0.2   
0:01:17    59    82    10.3    177    37.5420401    -77.4357498    0.2   
0:01:18    59    82    10.3    178    37.5420669    -77.4357927    0.2   
0:01:19    59    82    10.4    178    37.5420883    -77.4358302    0.2   
0:01:20    61    82    10.4    178    37.5421152    -77.4358785    0.2   
0:01:21    59    82    10.4    178    37.5421420    -77.4359161    0.2   
0:01:22    59    82    10.4    178    37.5421634    -77.4359590    0.2   
0:01:23    58    82    10.4    178    37.5421903    -77.4359965    0.2   
0:01:24    59    82    10.4    178    37.5422144    -77.4360448    0.2   
0:01:25    59    82    10.5    178    37.5422412    -77.4360931    0.2   
0:01:26    59    82    10.5    178    37.5422680    -77.4361306    0.2   
0:01:27    59    82    10.5    179    37.5422895    -77.4361736    0.2   
0:01:28    58    82    10.5    179    37.5423163    -77.4362111    0.2   
0:01:29    58    82    10.6    179    37.5423405    -77.4362594    0.2   
0:01:30    58    82    10.6    179    37.5423673    -77.4363023    0.2   
0:01:31    58    82    10.6    179    37.5423941    -77.4363399    0.2   
0:01:32    58    82    10.6    180    37.5424156    -77.4363881    0.2   
0:01:33    61    82    10.6    180    37.5424424    -77.4364364    0.2   
0:01:34    63    82    10.7    180    37.5424692    -77.4364740    0.2   
0:01:35    71    82    10.7    180    37.5424960    -77.4365169    0.2   
0:01:36    76    82    10.9    180    37.5425202    -77.4365652    0.2   
0:01:37    81    83    11.0    180    37.5425470    -77.4366027    0.2   
0:01:38    82    83    11.2    180    37.5425738    -77.4366456    0.2   
0:01:39    82    83    11.4    180    37.5426006    -77.4366939    0.2   
0:01:40    81    83    11.6    180    37.5426301    -77.4367368    0.2   
0:01:41    80    83    11.7    180    37.5426570    -77.4367851    0.2   
0:01:42    80    83    11.9    180    37.5426865    -77.4368387    0.2   
0:01:43    80    84    12.1    180    37.5427133    -77.4368817    0.2   
0:01:44    79    84    12.2    180    37.5427455    -77.4369299    0.3

Matt, why are you so eager to reply if you don’t know jack. The point of asking questions here is to get answers from someone who does know, rather than someone who thinks they might know. Can someone from Zwift, add some informed content here?

So i figured “cadence” thing out.

Depending on what you open the .fit file with

Golden cheetah, WKO+, Garmin connect, Strava

It will give you an estimated cadence since there are power spikes

I used a test file for the above that i did not use a cadence sensor for and got a wide range of estimated cadences from 53 to as high 95

Zwift it self doesn’t record cadence at the time.  But after you import the file to a 3rd party app that third party app will calculate and provide a virtual cadence.

 

this is a statement from a worker at zwift.  the kickr does not broadcast cadence at all.

https://support.zwift.com/hc/en-us/community/posts/205646816/comments/209060213

 

 

This is completely false.  WKO+ does not and will not just create estimated cadence numbers.  The numbers are saved in the file already and Zwift is putting them there from the start.

eric,

it is garbage cadence period. once you import the .fit file to a 3rd party it interpets however it wants to see it.

You refuse to look at your log, the log is the actual trail as to what zwift is actually doing and recording. your .fit file is created after a ride.

i have talked to wahoo reps, and have used zwift with a kickr for over a year.

other trainers do broadcast a virtual cadence, and its recognized by any ant+/blte as cadence.

 

Matt, the log file appears to be the communication to and from the kickr. I also do not see anything for cadence there. Although the .fit file has a cadence number for every second of the ride just like power. There is nothing to interpret. This would leave me to believe it is created by zwift. Open up your .fig file in a simple program like “rideviewer” open the log file editor and you will see everything in the root .fit file.

So I refuse to believe that the cadence has been but into the .fit file by aliens so I went back to the

Log file to see if I could find anything. “wheel power : EC” caught my eye as it could stand for estimated cadence. It simply counts from 0 – 255 then repeats. How fast it counts though is what may be the answer.

If you  look at he follow info:

[18:45:30] ANT  : [PowerMeter] Prev: WheelPower: EC: 191  WT: 191  Period: 24922  AccumTorque: 02855

[18:45:30] ANT  : [PowerMeter] WheelPower: EC: 199  WT: 199  Period: 27572  AccumTorque: 04494

[18:45:30] ANT  : [PowerMeter] Vang = 38.85 radians/sec   Tavg: 6.40 nm   Pavg: 248.70 watts timeElapsed=1.294

Prev EC = 191, EC = 199 and time elapsed = 1.294

The average time for EC value in the date block would be 1.294/(199-191) = 0.1617

I did this calculation at a few spots throughout one of my rides to see if there was any correlation to speed, power, or cadence.

Here were my results: (Power cadence and speed came from .fit)

Time      Power   Cadence              Speed                   EC time

5sec       79           53                          8                            0.3584

1min      228        90                          31                          0.221

15min    295        95                          21.7                      0.2056

37min    286        50                          9.1                        0.4064

49 min   400        109                       60.4                      0.1617

There is a large variation of speed power and cadence and due to hills. At first the EC values do not seem to relate to any value, but there is a very strong negative correlation to cadence. As the value increased by cadence value went down. It was to a factor of almost 20.

Here is my chart again with the 20/EC time

Time      Power   Cad        Speed    EC time                20/EC time

5sec       79           53           8             0.3584                  55

1min      228        90           31           0.221                    90

15min    295        95           21.7       0.2056                  97

37min    286        50           9.1         0.4064                  49

49 min   400        109        60.4       0.1617                  123

All the values are very close to my cadence in the .fit file.

You guys could run some numbers but it looks like the kickr is giving an estimated cadence or enough information that an estimated cadence can be calculated.