Indoor paincave

Cycling - Indoor Workout - Golden Cheetah

To train indoors or not? Training outdoors is easy if you have good weather, good group rides, good terrain available and a bunch of spare time. If you are at a loss for time, terrain or group rides you might find yourself somewhat forced to train indoors.

Some people hate it, some love it. There are great facilities in Singapore where you can go and suffer with other people like “The Athlete Lab” and “T3 Bike Studio” or you can setup your own workout space with Zwift, TrainerRoad or GoldenCheetah and a trainer. There are many software platforms available, however for this post we’ll look at GoldenCheetah as the software of choice.

GoldenCheetah can track virtual power if you don’t have a smart trainer, which is to say it will predict your power output based on your speed and your trainers resistance curve.

Indoor training during the week fits my training needs, and the setup is in the living room. Lets take a look.

Here is my setup:

  • Smart Trainer (Tacx Neo or Wahoo Kick-r)
  • MacBook Pro or compatible computer
  • Suunto Movestick Mini (ANT+)
  • GoldenCheetah >= v3.4
  • Music Stand
  • Heartrate Sensor
  • SpeedSensor (required for virtual power)
  • Garmin/Normal bike computer
  • Fans
  • Towel(s)
  • Floor matt
  • TV/Screen for distraction
  • Headphones for music

The Workout Area

In your workout area you are stationary, with no airflow, sitting on a bike. Should be great right? You’ll find out it’s less forgiving than riding outside. There is no breeze and nothing to help move the heat away from your body.

You will want to point your fan(s) at you to help take the heat away from your body, and you’ll want to put a towel over your handle bars to wipe sweat from your face and arms. Also you will want to setup a yoga mat or towel underneath your bike to catch dripping sweat. Another good tip is to wear a hat to soak up extra sweat.


Using the Train Mode tab in GC you can add training devices, build and display workout files and run the workouts. First you will need to add some ANT+ devices then you will want to get some workout files, either importing from ergDB, writing them yourself or converting a previous ride. Then you can run the workout and record the session.

Setting up devices

Make sure you have your ant+ USB stick plugged into your computer and no software is open which will lock the USB stick, so close garmin connect, zwift or trainerroad and then open GC and select the Train Mode tab, click on add Device, in the default list of devices FE-C is not selected so you will want to select ANT+ FE-C as the device type in a blank slot. You should see a list of devices that are being “heard” over ANT. You might need to spin your cranks or make the ant device generate some output before it shows in GC. Once GC hears a signal from a device you will see it as “paired”. Device types that can pair include HR, Power, Speed, Cadence and FE-C (used for the controller channel for smart trainers). For a TacX Neo you should only pair the FE-C device type. You will still receive power, cadence and speed as that data is sent over the FE-C channel from the TacX to GC. If you pair speed power and cadence separately you will see large discrepancies in the recorded data and some crazy values which skip around a lot.

For a Wahoo Kick-r you can pair FE-C, Power, Speed and Cadence as the Kick-r doesn’t exhibit the same behaviour.

Building workouts

The workout builder is a bit tricky to start with, but once you get the hang of it you can use your keyboard and hit tab, type, tab, type until you have a workout built. It gives you a estimated kJ burn and NP for the workout and the total duration. If you have a standard warmup saved (in another file perhaps) you can just add the length of your warmup as your first step, and copy paste the warmup from your saved file after your workout is built and saved. This can be done in a text editor. When I build a workout my first step is 22minutes at 1% power, I then replace that first 22minutes in the file with my warmup. An example using vim in a terminal. You can use notepad or any other text editor of your choice.

Running your workout

You select the workout file from the workout selection column on the left and select your device from the device selection column. Then you can click the On button, and you will see your sensors connect and start reading data from your sensors; when you are ready to start your workout you can click start/play. This will start the workout and record all your sensors, the same as your garmin would. Now if you like you can also click start on your garmin and record it there as well.


Find a list of tutorials for GoldenCheetah please checkout
For a good list of software both online and for download checkout http://darren
A great resource for all things cycling/software you can checkout

2 thoughts on “Indoor paincave

    1. Hi Roy,

      I will try and do an in-depth comparison of the 2 pieces of software in the future.

      GoldenCheetah is FOSS (free open source software) built by a solid, active community. It is a Swiss Army Knife of software, but has a steep learning curve.

      TrainerRoad is a paid piece of software; primary focus on running trainer workouts and workout planning. Easy to use, but more limited in features/analysis.

Leave a Reply

Your email address will not be published. Required fields are marked *