FAQ TRAIN - GoldenCheetah/GoldenCheetah Wiki
Which devices are supported by GoldenCheetah Train?
When you use the Add Device Wizard in the Train view, the first step will show a list of available options:
Most are self-explicative but there are a couple with more options:
- ANT+ and FE-C includes support for a large number of ANT+ sensors (Power, Heart Rate, Speed, Cadence, SmO2 and Running Footpods) and generic support for FE-C enabled smart trainers plus specific support for Tacx Vortex Smart trainers. Both Garmin and Suunto ANT+ USB sticks are known to work with GoldenCheetah and USB extender cables are recommended to minimize interferences.
- Bluetooth 4.0 includes support for BTLE enabled sensors (Power, Heart Rate and Speed/Cadence) and it is available on macOS and Linux in v3.5, and Windows in v3.6. There is no support to control smart trainers via BTLE in v3.5, for v3.6 we currently have full capabilities control for the Wahoo Kickr (Core), load and gradient control using ANT+ over BTLE for TACX trainers including the Flow Smart, and Kurt Kinetic Smart Control.
- Robot may not be included in release builds.
How to "pair" BTLE sensors?
In GoldenCheetah v3.5 BTLE sensor are supported only on macOS and Linux, while support for Windows 10 has been added in v3.6.
There is no explicit "pairing" step for BTLE sensors, the Add Device Wizard just informs the user which kind of sensors are supported (Power, Heart Rate, Speed/Cadence, Wahoo Kickr, Tacx Trainers using ANT+ over BLE, Kurt Kinetic Inride and SmartControl in v3.6) and will be used automatically when the created device is connected to begin a training session. The sensors need to be active when you start the connection process (typically using the red/green button in Train Bottom Bar, unless you have enabled auto-connect in preferences), detection will be informed in Train bottom bar notifications panel, and the data will start to be displayed automatically.
Only one sensor if each type is supported and there is no way to prioritize sensor pairing, so you must be careful to disable unwanted sensors.
Any errors happening at device start time will be logged in the file goldencheetah.log, parallel to the athlete's folder. Starting GC with —debug command line parameter will display additional information to the launching console.
See ANT and BTLE Troubleshooting for additional information.
How can I use multiple sensors in a Train session?
There are 2 scenarios to use multiple sensors s.t. Smart Trainer plus HRM:
- Sensors use the same protocol (e.g. ANT+ FE/C Smart Trainer plus ANT+ HRM), in this case all sensors need to be added to the same device, if you want to add new sensors to an existing device, that device has to be stopped removed and re-created with all connected sensors.
- Sensors use different protocols (e.g. ANT+ FE/C Smart Trainer plus BTLE HRM), in this case one device needs to be created for each protocol with its corresponding sensors, and
Allow multiple devices in Train Viewenabled in
Options/Preferences > Training > Preferencesso both devices can be simultaneously selected before start.
Warning: Currently only one data stream of each kind is supported, please don’t connect multiple sensors generating the same data to avoid data problems. For example if your trainer already provide Speed via the FE-C channel you shouldn’t pair separate Speed channels for the same device or an external Speed sensor. Exceptions are:
- Up to 2 power meters on ANT+ are supported, the second is displayed as alternate power.
- An external Cadence sensor on ANT+ is used with priority respect to Power Meter Cadence data.
- BTLE Speed&Cadence sensors are automatically disabled when a Power sensor is present.
How can I recover my data after an abnormally terminated session?
During training, data is saved to disk each second using a file with yyyy_MM_dd_hh_mm_ss.csv name in the records folder under the athlete's directory informed in About... On session end this file is the one offered for import.
In the event of abnormal termination you can manually import that file using the standard procedures for Importing from a file.
Can I use the keyboard to control the Train session?
If your keyboard has multimedia keys, some of these can be used to control the Train session:
- Media Previous Button = Connect and Rewind Back in workout
- Media Stop Button = End the workout
- Media Play/Pause Button = Play/Pause the workout
- Media Next Button = Fast forward through workout
- Key 0 = New lap/interval
- Key C = Calibration
- Key + = increase load by 5w or gradient by 0.1% in manual mode, +5% in a workout
- Key - = decrease load by 5w or gradient by 0.1% in manual mode, -5% in a workout
New in v3.6 is the possibility to use
Escape to end the training session, and
Space to pause and continue.
Can I use the Computrainer controller buttons during a workout?
The controller keys do the following when GC controls the CompuTrainer:
- STOP/Reset = End the workout
- F1 = new lap/interval (changed to Start in v3.6)
- F2 = change display size *** DEFUNCT *** (changed to new lap/interval in v3.6)
- +/- = increase/decrease load by 5w or gradient by 0.1%, in manual mode, +/-5% in a workout
- F3 = Enter/Exit Calibration Mode
How can I have remote control of the Train session?
It is possible to control the trainer session using an ANT+ Remote Control (just add a Remote Control sensor type in the pairing dialog).
Training > Remote Controls option tab allows to define mappings for the supported commands.
There are a couple of hardware devices in this category s.t. the "O-Synce ANT+ remote" and Garmin Edge Ant+ Remote (for this one you just need to hold any 2 buttons for a few seconds to start the pairing process every time you start the ant+ in train view).
There is an Android App useful for phones with ANT+ support: https://github.com/dresco/ANTRemote
A more general alternative is to use a remote control application in your phone, a user has reported good results with the free version of Unified Remote, for example.
Which workout formats are supported to controls smart trainers?
GoldenCheetah Train can control smart trainers in 2 modes: ergometer and simulation.
In ergometer mode a target power is sent to the trainer while in simulation mode a target gradient is sent to the trainer.
Manual Erg Mode and Manual Slope Mode predefined entries in workout list allows to do this under user control using the training intensity adjustment controls in the bottom bar or remote control.
- Additionally several workout file formats are supported:
- Computrainer erg/mrc formats for ergometer mode and crs format for simulation mode
- Zwift zwo format for ergometer mode
- TACX pgmf format for both modes and tts format for simulation mode only (tts is new to v3.6)
- ErgDB.org erg2 format for ergometer mode (fixed in v3.6)
- GPX and GoldenCheetah json files for simulation mode (json is new in v3.6)
Note: slope data from some files, especially GPX, can be too jumpy due to artifacts in altitude measurement, in these cases are lesser format like crs or pgmf can be more convenient even though they lack GPX data. An alternative is to import the GPX as an activity, smooth altitude and slope using GoldenCheetah edition facilities, and export the corrected file to be used in Train.
How can I have synchronized Video in my training session?
Using Windows or Linux v3.5 or newer builds, or macOS v3.6 builds, you can use
View > Add Chart > Video Player to have a Video window to reproduce the video selected on the left sidebar while you train. At the most basic level the video will start/pause/stop parallel to your workout, but video speed will be independent of trainer speed.
If you have a videosync file (currently rlv, tts and JSON formats are supported, tts and JSON are new to v3.6), you can import and select it on the left sidebar so the video is reproduced in sync with your trainer speed making the experience much more realistic, specially for slope/distance workouts.
Training > Preferences > Simulate Speed from Power enables a full bike riding simulation to compute speed based on power, terrain, bike and rider characteristics instead of the measured speed, which may not consider all this factors. The parameters can be seen and modified in
Training > Virtual Bicycle Specifications.
A good source of free synchronized videos to start with is: http://rlv-alucard.de/
Video Overlay widgets are enabled by default on Windows and Linux (not macOS support yet) to display the relevant information for simulated rides:
config/video-layout.xml in athlete directory holds the widget configuration, if you have an old version it can be removed and a new one will be created on the next start. If you don't want these widgets just delete the file contents, the presence of an empty file remove the widgets on the next start.
New in v3.6: Video Player chart options allows to select between several pre-configured layouts s.t. Graphical Meters, Graphical Meters with Live Map, Text Meters and No Meters. The
Reset Meters layout to default button allows to replace this config with the latest included with the program.
Note: Most of these facilities were added or largely improved in v3.6, so the last v3.6 build may be required.
How can I train with power using a dumb trainer without a Power Meter?
GoldenCheetah v3.5 includes the ability to estimate power from speed data using dumb trainers power-speed curves, if your trainer is included in the list of pre-configured ones, you can just select it in the last step of Add Device Wizard to enable virtual power.
New in v3.6 is the ability to enter a group of speed/power points to automatically fit a curve and enable virtual power for any dumb trainer, this video explains the setup: https://www.youtube.com/watch?v=wMuf8Zavjvw
Note: Do not forget to add a Custom Virtual Power Curve Name and click "Create" and select the newly created curve, otherwise the custom power curve won't be applied to the device.
Rotational Inertia Field: Trainer inertia will be modelled if you provide a value in the Rotational Inertia box. For wheel on trainer this should be the combined inertial moment of bicycle wheel and trainer, which can be computed as: (trainerI * (trainerFlywheelRevolutionsPerWheelRevolution)^2) + bicycleWheelI). A good way to test the power curve and inertial value is to coast down from 30kph and see that predicted power hovers just above 0. If value is consistantly below zero your value for I is too large, if it is consistently above 0 it is too small.
How can I have virtual or simulated speed and distance?
v3.5 includes instant virtual speed estimated from power, slope and weight courtesy of Tom Compton (analyticcycling.com), this data field can be used in a similar way to measured speed in real time dials and charts. This value is the speed at which power and resistance are equal, and is the upper bound on speed in current state, without regard to acceleration.
v3.6 adds fully parameterized, energy based, virtual bicycle simulation in slope and erg mode. This feature is enabled by default for new users and it can be enabled/disabled in
Options > Training > Preferences > Simulate Speed from Power to have a more realistic speed and distance virtual ride experience. Parameters for the simulation model are found at
Options > Training > Virtual Bicycle specifications.
Why .erg2 workouts downloaded from ErgDB terminate immediately in v3.5?
This is a bug present in v3.5, it is fixed in v3.6 builds.
There are a couple of workarounds:
- Save As the downloaded workout as .erg format
- Download the .erg files from www.ErgDB.org website, there is a Web Chart available on CloudDB which allows to do this from GoldenCheetah and import automatically the downloaded workout.
How is real-time W’bal is computed in Train mode?
Real-time W'bal while training is computed using an optimization of the integral method (See W’bal optimisation by a mathematician) which depends on W'bal Tau in Athlete > Model preferences and it is independent of differential/integral setting used for offline W'bal computation.
How can I see the erg mode target power in post-ride analysis?
Activities derived from Train erg mode workouts have an additional XData field with the target power to be used to in post-ride analysis, to compare with effective power. You can find it as TARGET series on TRAIN tab in Editor. It can be used as any other XData series, in particular it can be easily added to Activity chart as User Data curve using the following expression
XDATA("TRAIN", "TARGET", sparse)
How can I use my Fortius trainer on Windows 10?
On macOS and Linux you can connect your Fortius to an USB port and select the corresponding option on Add Device Wizard to look for it, but Windows 10 requires a device driver to be previously installed.
This Fortius Driver has been tested with newer Fortius models and can be installed disabling driver signing or adding the digital certificate so the signature can be validated using the following procedure:
- Right click on VR-Interface.cat and select properties
- On the Digital Signatures tab select the certificate (USB\VID_ etc.) and click Details
- View Certificate
- Select Details tab then Copy to File VR-Interfase.cer To install you need to run the following from an elevated command prompt
> certutil -addstore "TrustedPublisher" VR-Interface.cer > certutil -addstore "Root" VR-Interface.cer
Then you can install the driver and the Fortius should be recognized when connected and added using Add Device Wizard.
Note: An updated Fortius driver installer for Windows can be downloaded from https://github.com/switchabl/t19xx_usb
How can I configure my Daum Ergo Bike?
GC v3.6 includes preconfigured support for several cockpits: 8008 TRS, 8008 TRS PRO, 8008 and 8080.
If the profile string in the last step of device configuration contains a number or the string sound, no automatic cockpit configuration is done, but the information from the profile string is used:
- if the string sound is present, play the sound when connecting
- if a number is present, use this number as the delay in milliseconds between commands. A reasonable number to start with is 50 in case of connection problems
This also solves the problem, if the cockpit id is not known by GoldenCheetah. In this case the profile string can be just set to e.g. 50_sound and the unknown cockpit id is ignored.