I recently started an indoor cycling program at a studio that uses the CycleOps 300 Pro Indoor Cycles.

CycleOps 300 Pro Indoor Cycle
These bikes have a built in power meter, which is fantastic for training. However, they don’t use a ‘standard’ ANT+ protocol to transmit the data. They in fact use a ‘subset’ of the ANT+ frequency, that only CycleOps products can detect. This limits you to using the Joule line of head units. Unfortunately, this means that the bikes will not transmit a power and cadence value that you can pick up on a Garmin or other much more common head unit. Don’t get me started on how annoying this is, and how shitty of a business model it is to advertise your product as ANT+ when in fact it is not compatible with other ANT+ products…
However, being annoyed led me to do some research. Thinking that there had to be a way, I scoured the internet. I found one reference on the Cyclops Virtual Training website that listed the IC300 bikes as compatible with their VirtualTraining Android and iOS Apps. I emailed their tech support, who first said told me that the bikes are compatible with any ANT+ device (they are not). When I pressed them for confirmation, they retracted that statement, saying:
‘Sorry. That generation of bikes were designed well before the explosion on handlebar mounted technology.’
Riiight. And yet you still advertise them as ANT+ compatible? I should note here that the newer CycleOps “Phantom” line of bikes claim to actually be fully ANT+ compliant, so this applies only to the older bikes (IC 300 and IC 400).
However, by this point I had already ordered a USB OTG (On The Go) Adapter cable for my phone (you can get them very inexpensively) in the faint hope that the VirtualTraining app might work. It arrived the day after my next class (of course!) so I had to wait until last night to test it out. I plugged my trusty USB ANT+ Key (see my post about why you need one here!) into the OTG cable, and plugged that into my phone. Using the VirtualTraining app (Android, iOS) I was able to start a “Free Ride” session, and connect to the bike to get cadence and power! Awesome!

USB OTG Adapter Cable
I should note that I also tried the IpBike app to see if the “only compatible with CycleOps products” statement held true. It does appear to be true, as IpBike did not recognize any devices. CycleOps must have done something special in their software to pick up the frequency that others do not since the ANT+ key itself seems to have no problem seeing it, thus ruling out the hardware as the issue. Very odd.
So! It is entirely possible to record the data from a CycleOps 300 Pro bike without using a Joule head unit. It can be done fairly inexpensively.. However, having said all of this, there are a couple of issues:
- You will need a phone that is capable of USB OTG. See how you can determine if your phone is compatible here.
- You’ll have to install the ANT Radio Service and ANT USB Service apps from the Play Store (not sure how this works on iOS, but it may not be necessary)
- The VirtualTraining app is not free. It costs $6 per month after the initial 14 day trial period–which of course just ran out for me :(
- The VirtualTraining app, quite frankly, kind of sucks:
- It’s very hard to connect to a specific device (which is an issue in a studio environment with multiple bikes) – it appears you have to just keep doing consecutive ‘searches’ for devices, and it will pick one up randomly. Another search may or may not yield a different device, while a third search may turn up a different one, or one of the original two again. I think I had to do about 10-15 searches for it to pick up the bike I was on. It would be ideal if you could manually type in a known ID, and have it just connect to that sensor, but I found no way of doing that.
- I couldn’t get it to connect to my ANT+ heart rate monitor at all. I’ll have to try that at home when there are less other devices present to confuse it. Again, the ability to manually enter an ID would likely solve this issue.
- The app interface is junk. The button to ‘stop’ a ride is not obvious (a little x in the corner that to me looks like it should delete something, making me hesitant to push it,) and the app itself just behaves in non-intuitive ways
- Saris/CycleOps clearly doesn’t care to play by standards. This makes me really not want to pay them for their app, as that reinforces their decision to make ‘vendor specific’ products, then charge for them in a world where everyone else is moving towards completely open protocols. I’m going to decide before next Tuesday if a month of data recording is worth $6 to me.