Virtual Trainer
So first a quick run down of the relevant gear I had.
- A regular bike, in my case a Cannondale CAAD12 Ultegra
- A set of Garmin ANT+ Bike Speed and Cadence Senors
- A Garmin HRM-RUNv2 ANT+ heartrate monitor, this actually came with my Forerunner 630 watch I use for running but I also use it when I ride.
This gear works well for my outdoor rides, gets me oodels of stats and I can import the data into any number of platforms. Now you start looking at indoor smart trainers and they all suport BLE (Bluetooth Low Energy) and ANT+, great. However if you’re interested in using it in conjuction with a virtual trainer they’ll be on your computer or your mobible device, which don’t support ANT+, so you got sensors but no way to get that data to your devices. Options to solve this:
- Wahoo ANT+ iOS dongle
- Garmin ANT+ Stick PC/MAC
- Various ANT+ to BLE bridges
The Wahoo dongle is iOS only and also the older 30 pin connector, so you’ll then also need the 30 pin to lightning converter, it is however the only one which can talk FE-C over ANT+. As I wasn’t planning on dragging out my laptop each time I go for a ride, for me the Garmin ANT+ Stick was a no go from the start. So this left me thinking I’d use one of the bridges. After weiging the pros and cons (the CABLE is $20 cheaper, but the Viiiiva is also a heart rate monitor), I ended up with the Viiiiva mostly because I could get it quicker. So with the Viiiiva I could pair it with my ANT+ sensors and supposedly I was off to the races (more on this later).
For the price range I was looking at for the actual trainer, it came down to the CycleOps Magnus or the Wahoo Kickr Snap, I ended up with the latter as it seemed better supported by third party apps, the cost is identical are the stats on them. Technically it seemed like a toss-up.
I now had to pick an online virtual trainer, my criteria was fairly simple: had to support my trainer (some of these virtual training programs are made by hardware makers and only support their own hardware), iOS, be somewhat interactive. I wasn’t really interested in just a training program. So spending some time with google, I came up with:
- Zwift
- Rouvy
- Bkool
So taking these in reverse order, Bkool supports iOS, but only on the iPad, and my iPad is too old. But since I’d already created an account I figured I could test out the desktop version. However it wouldn’t find any of my BLE periphirals, so that ended that experiment. In hindsight this could have been due to the BLE peripherals being paired to my phone which I discovered later can cause issues.
Rouvy I rode several times and it was quite ok, but it was all filmed rides which at times made it a bit weird as the rider would go one speed and it wouldn’t feel like it matched how I rode. That said, it had some nice rides and features.
Finally Zwift which kinda brings a MMO perspective to riding, it’s all in their virtual worlds (granted some based on real places), you can if you want race others, I’m mostly a lone wolf rider though so I’ve yet to try any group activities. One thing Zwift has over all others is a native tvOS app for the appleTV (which I happen to have), this means that unlike other apps where I need to run it on my phone and then cast it to the TV, here I can just turn it on and run it there. While that is convenient the appleTV remote isn’t the best and navigaion is awkward at times. However all in all Zwift is a decent virtual trainer and the one I am currently using.
As I noted above I had some connectivity issues between all the peripherals, now when you get the Viiiiva HRM it has it’s own app on your phone where you pair the HRM to your phone and you can do the initial setup and make sure it pairs with your ANT+ devices. Now it seems that while the Viiiiva is paired with the phone it won’t pair successfully with the appleTV, I'v not been able to find anything officially about this, but unpairing the Viiiiva from the phone now let’s it pair with the appleTV. I will note that at times Zwift won’t register any data from one or several of the peripherals and then the easiest solution has simply been to reboot the appleTV, this tends to clear that up.