DC Rainmaker

A look at Wahoo KICKR support on Windows via ANT, and what the rest of the industry is doing

When the Wahoo KICKR was announced last August, it was touted as being open on both Bluetooth Smart as well as ANT+. And in many ways it was. It was controllable via Bluetooth Smart, and apps could (and have been) designed for it. And it also outputted ANT+ data to various ANT+ devices.

However there was one little wrinkle: It didn’t allow ANT+ control, and required Bluetooth Smart (Bluetooth 4.0). And that was of particular note to households which lacked a newer iPhone or iPad – which have been the only platforms that the KICKR supported control over. Without either of those two devices, your KICKR was effectively a big 46 pound brick.

However, last week Wahoo Fitness released a firmware version which now enables ANT control over the KICKR. And in doing so, opens up the door to apps across any platform – from Windows to Macs, and Android to iOS – to control the KICKR. Now, you’ll notice I didn’t actually say ANT+ control. As technically, it’s not ANT+ control yet. But I’ll dive into that more after I go through all of the apps.

I spent a bit of time over the last 4-5 days playing around with some of the different solutions that have been released over the past week to enable this scenario. So here’s the full skinny!

Updating the KICKR:

Those of you that have the KICKR have probably done this step already, but I’ll refresh it anyway. First up is opening up the default Wahoo Fitness app. Once you’ve connected to the KICKR, it’ll display the usual notification that a new firmware version is available:

At this point it’ll redirect you over to the Wahoo Utility App, which handles the actual update process.

The update takes perhaps a minute or so to complete, and is done via Bluetooth Smart. Now, this is one catch to the whole process. As it stands today the only way to update the KICKR to support ANT control is via Bluetooth Smart. So you’ve still gotta find a way to update it. The good news is just about everyone has at least one friend with an iPhone 4S or iPhone 5 (or newer generation iPad), and all they’d need is the simple and free Wahoo Utility app to get you upgraded.

Once the update is complete, you’ll just unplug the power on the Wahoo KICKR to get it rebooted into the new firmware. At this point, you’re ready for ANT control.

Applications that support it as of this week:

I want to quickly run through the three apps that support it today via ANT. Note that this isn’t an in-depth review of these applications, or even a review of the applications. It’s simply explaining how they work in the context of KICKR.

In many ways, all three applications have a core similarity – they allow you to control the Wahoo KICKR via ANT. They all record your entire ride, including other ANT+ sensors like heart rate, speed and cadence. And they all have some level of customization. At a very high level, PerfPro has the most customization and options. However, PeriPedal has a very clean interface. And TrainerRoad has more in the way of social sharing and Strava-like functionality.

Of course, they all have other benefits and features – so again, not a review, just talking about how they function for KICKR. All good? Good.

PerfPro Studio:

I’ll start off with PerfPro. PerfPro definitely had the most in-depth implementation of KICKR support. This is primarily due to all the configuration options that the program has in general, but also the way they surface those options for the KICKR. On the flip-side, it can be a bit overwhelming.

After you’ve added an ANT+ USB stick we’ll be ready to start (note that as of yesterday you no longer need two sticks – just one stick). First up is searching for the KICKR, again using ANT. You’ll see below it’s found the KICKR and listed my ANT+ ID (9195).

Next, if I pedal it’ll go ahead and show it as active, as well as the current speed and power:

After clicking ‘Next’ I’m basically done.

There are however a few options for the KICKR you can access via the menu system. And the menu system you can access by just clicking on the background of PerfPro studio.

Here’s some of the options you have for just the KICKR. The main one being the ability to change wind speed or rolling resistance. Other options are found along the left side there – many of which apply to KICKR workouts.

Finally, if you have any other ANT+ devices (heart rate/speed/cadence/etc… sensors), you can pair those up as well. You can see below I’ve added the Speed/Cadence sensor with my name next to it.

With that, I’m ready to begin my ride (and all of the settings up to this point are saved for next time). After starting the ride you’ll see my load displayed in the upper left corner. That’s the wattage that’s being applied by the KICKR. While to the right of it you’ll see the current wattage being measured. Additionally, you’ll see other ANT+ metrics like my HR and cadence.

Here’s basically the same view focusing on just the workout screen.

Finally, the PerfPro software supports manual calibration at any time by just right clicking in the menu system and selecting ‘Recalibrate Now’.

Alternatively, the PerfPro software will automatically trigger a calibration at the 9-minute marker. Calibration simply involves spinning up to 22-23MPH and letting it coast down to to 11MPH. Now, you can see that they still have a bit of work to do on cleaning up some of the CompuTrainer verbiage (which shows and is 25MPH).

Upon doing the coast-down, it’ll give you the calibration number at the very bottom:

You’ll adjust the power/wattage settings by pressing the arrow keys on your keyboard. With that, everything else is as normal in PerfPro. If you’ve loaded a given workout in, then it’ll automatically change the power and resistance for you based on the workout or course that you’ve loaded.


Next up is PeriPedal. PeriPedal is a much less daunting interface than PerfPro. Which has its pros and cons. Obviously, having less daunt means it’s generally a bit cleaner to use. But it also then lacks some of the features and functionality.

Nonetheless, you’ll start off the same with searching for the Wahoo KICKR within the bike profiles menu:

Again you’ll see the device ID listed (9195), and the option to pair it. I can also pair my ANT+ speed/cadence sensor here. Additionally you’ll see the option to choose where the cadence information comes from, and where the power and speed information comes from. For speed and power you’ll want to choose KICKR, and cadence should be your separate ANT+ cadence sensor.

After that you’ll go ahead and choose a workout. You can utilize any of the built-in workouts, or create/modify your own:

In my case, I just went with the stock Revolver workout, which is tied to a Sufferfest video.

Once you’ve got everything cooking you’ll go ahead and start the trainer. PeriPedal will automatically adjust the wattages for you based on the workout specifications. Notable though is that there isn’t any way to manually adjust them once in the workout. Sort of a bear and grin it situation.

Calibration can be accessed through the quick-settings menu option mid-ride, just like in PerfPro and later on, in Trainer Road.

And of course, like the others, PeriPedal will automatically save all the other ANT+ sensor data as well as your power data and allow uploading later on with it.


Last up, TrainerRoad. You can grab their latest ANT+ beta off of their Twitter feed. It’s not final code obviously, but it’s a good start. Once you’ve downloaded it and installed it, you’ll find yourself a new menu option at the bottom of the ANT+ device listing:

Given you’ve only got one option for a next step, you’ll want to go with the big button that says ‘Pair’. A split second later you’ll see this:

And then a few seconds later, you’ll see this:

Like the other apps, you’ll notice the device ID is displayed (9195), and the signal quality as well. Below you’ve got a big handy ‘Calibrate’ button, and then next to it is the mode option. This allows you to swap into the different modes: Erg, Standard, Resistance.

Additionally, you’ve got the calibration button. Calibration initiates calibration mode, which then puts it into the ‘Resistance’ setting temporarily – like you see above.

From there, you’ll just spin yourself up to 22MPH and let it coast for about 22 seconds.

With that, let’s start a workout. I went ahead and selected the same Revolver workout that was in PeriPedal. Once I did that I pressed the play button. The resistance will automatically be controlled by TrainerRoad.

Like the other apps, it’ll record all your various ANT+ and cycling data streams to a file for later analysis.

Additionally, it also supports a mid-ride calibration mode, just by pressing the ‘Calibrate’ button along the bottom. Once you complete the spin-up, it’ll give you the calibration numbers in big text:

With that, there ya have it – a quick tour of using KICKR on the three apps that support it today. Note that TrainerRoad is the only app that supports the KICKR via ANT on a Mac today, as the other two apps are Windows-only.

Virtual Training Suite:

Note: This section is updated/added October 24th.

I’m listing this here merely to point out that the CycleOps Virtual Training suite does not support the Wahoo KICKR.  I wrote about this suite back in the winter, so rather than repeating that here, you can look up all the details on that post.

Understanding some important technicalities:

You’ll remember how at the very beginning I said it’s not yet the KICKR having ANT+ control? Well, that’s because it isn’t. See as it stands today there’s something called the ANT+ Bike Trainer Technical Working Group (TWG), which is essentially all of the major bike trainer companies out there working together to define what the ANT+ Bike Trainer Device Profile will look like. A device profile is essentially a way to define how devices talk openly with each other. Another example of a device profile is the ANT+ Heart Rate Device Profile (for HR straps), or the ANT+ Power Meter Device Profile (for power meters). This is driven by ANT+ as an organization, but collecting and mediating feedback from the member ANT+ companies.

Actually, before we continue, here’s the quick terminology rundown:

ANT+ Organization: This is the organization that’s part of Dynastream (a company) that runs, manages and designs the ANT+ specification. Essentially, a collection of people in Alberta, Canada running the show.

ANT+ Alliance: This is all the member companies that are a part of ANT+. Some 300+ companies in total, from Garmin to Timex to Magellan and just about everyone in the fitness world except Polar and RacerMate.

ANT+ TWG: The Technical Working Group (TWG), that’s made up of companies in the ANT+ Alliance that are interested in a given topic. The TWG works for a period of time, from alpha to beta and then final release of the specification for that topic.

ANT+ Bike Trainer Device Profile: This is the profile that is being created by the ANT+ TWG in conjunction with ANT+ as an organization, which will standardize the way trainers and non-trainers communicate about trainer-related things (control of resistance, reporting of power, etc…).

Since the profile is still in the pre-release stages, the “profile” that Wahoo is using is technically a private-ANT implementation (that just happens to be open to others using it). Now, the ANT+ Bike Trainer Device Profile will end up looking a heck of a lot like the Wahoo profile, mostly because the Wahoo profile was used as the foundation for what the ANT+ TWG is cooking away on. Sorta like starter dough.

Right now though the timeline for the ANT+ Bike Trainer Device Profile is calling for a summer alpha release of the profile, and then a final release around September for Interbike. Personally, I think that timeframe needs to be pushed a bit harder so that companies have a final spec by the end of July – allowing for better apps/devices come Eurobike at the end of August, then Interbike in September. Otherwise I suspect we’ll see companies lag on implementation well into the Northern Hemisphere trainer season.

The end-state goal of the ANT+ Bike Trainer profile is industry standardization in the same way that we see that for ANT+ heart rate straps being ubiquitous. But, it’s also to allow for non-singular activities at gyms. There’s significant interest in linking up a multitude of trainers together at once and controlling them all at once, while also allowing individuals to control/override/record their own data. Because of the limitations of Bluetooth Smart being 1:1 (one sensor can only be controlled by a single master device, like a phone), we won’t see multi-control or multi-pairing there until the next hardware revision of Bluetooth.

Now, the Wahoo KICKR ANT variation isn’t perfect as it stands today, I did find some minor issues with the implementation across all three software suites. Primarily that I saw resistance drops (typically 1-second in length) across all three. Not super-frequent, but enough to be noticeable. However, all three apps just added support for what is a beta profile this week. So some beta-type issues are likely to be expected. Or, it could just be something in my house impacting it (not the first time).

So what does that mean for the rest of the industry?

So why does this really matter? Well, because if it’s going to be ANT+, it means it has to follow a specific open-standard that’s accessible by any ANT+ member organization (some 300+ companies, from Garmin to Timex to RunKeeper). That’s a good thing here because it means that once the ANT+ profile gets finalized, any company can use it. And the possibilities are somewhat limitless.

For example, let’s start with existing trainer companies. Right now they all use various private protocols to control and report power levels on trainers. Some are ANT, but none control via ANT+. CycleOps, Tacx, Elite and BKOOL all fall into the camp of being private-ANT today, such that only their own devices can control it. CycleOps however is the only company in that group that will openly give access to 3rd party apps that request it.

The good news here is that CycleOps, Elite and BKOOL have already agreed to and plan to implement the ANT+ specification for control of their trainers once it’s finalized. I have not yet heard back from Tacx on my request for their plans (and for those curious, RacerMate who makes the CompuTrainer is not a member of the ANT+ Alliance).  Update: Tacx has confirmed that they have joined the TWG and that they will adopt the ANT+ specification.

All of the companies I talked to planned to adopt it once it’s finalized, but they didn’t commit to dates, noting it’s a fairly complex endeavor to change things over. It is somewhat easier for Wahoo and their KICKR since they didn’t have anything else in place previously.

Now what about phone apps? Well, this is where I suspect we’ll see a big rush too. Primarily on the Android side, but we’ll see some bleed into the iOS side. On the iOS side it’ll come from apps that may leverage the Wahoo Fitness iPhone/iPod/iPad ANT+ adapter. Take for example Kinomap. They could then not only support the KICKR trainer, but any other trainer such as the BKOOL or CycleOps trainers.

But the Android side is where I think we’ll really see things take off. With the ANT+ service now making it as simple as an ANT+ USB stick and adapter to access ANT+ devices on Android, I think we’ll see quicker uptake there. I’ve talked with the developer of IpBike (popular Android cycling app with ANT+ support), and he plans to implement the support once the specification is finalized as well (or earlier). Effectively bridging the gap between KICKR/trainers and the Android world – at least until Bluetooth Smart gets fully lit up on Android (and from talking with Wahoo this week, that’s not going to happen soon due to limitations/slowness on the Google side).

And head units too? Lastly, there’s head units. Devices like the Garmin Edge 510 or Edge 810 that you’d normally use to record rides, they too could add in support for ANT+ to control trainers. O-Synce has already committed that as soon as the ANT+ trainer specification is finalized, they’ll add it into the O-Synce Navi2Coach unit that I reviewed last week. My discussions with Garmin around this topic in April certainly had them pondering it as well. And while there’s always a development cost associated with any new functionality – the cost associated with supporting trainers via ANT+ is significantly lower since it’s a software change versus a hardware change (such as having to add Bluetooth Smart).


I think the next 3-4 months will be pretty interesting in this space. Every company I’ve talked to about this is looking at the next 3-4 months as a bit of a ‘pilot period’ for how everything might work, with the goal to be ‘ready and done’ in time for the fall trainer season starting in September. The same timeframe of course as the two major bike shows of the year – Eurobike and Interbike.

I think with the addition of ANT support for KICKR, we’ll at least start to see significant progress in the next 60-90 days on Android and Windows apps for that, hopefully catching up with the iOS focused apps. Those apps should be able to make a relatively easy transition to the final ANT+ device profile once that’s released. And then as we head into the fall, we’ll ideally see the hardware companies catching up as well in implementing support there. In many ways, software and hardware companies really have no choice – if they don’t, they’ll be left behind and seen as uncompetitive.