Garmin Foot Pod Calibration
This is a small Windows utility that analyzes a run and calculates the appropriate recalibration for your Garmin Footpod. Important note: The Garmin Connect web site is no longer exporting the needed footpod data in the TCX file. I've released a beta version of the utility that will read the raw FIT files.
Contents
1 Device Support
The following devices have been tested; please let me know if you try it with other devices.
Device | Status | Notes |
---|---|---|
Garmin 310XT | Supported | |
Garmin 910XT | Supported | |
iPhone with iSmoothRun | Supported | |
Garmin Fenix 2 | Supported | |
Garmin 620 | Supported | |
Garmin 610 | Supported | For the calibration run the speed source must be set to Footpod, not GPS. |
Garmin 210 | Supported | |
Garmin 405 | TCX Unsupported (FIT untested) | Does not write any speed or distance information from the Footpod to the TCX file. |
Garmin 410 | TCX Unsupported (FIT untested) | Does not write any speed or distance information from the Footpod to the TCX file. |
Garmin 305 | TCX Unsupported (FIT untested) | TCX Exports from Garmin Connect contain what looks like speed data from the Footpod, but it matches the GPS signal perfectly. |
2 How does it work?
The Garmin devices record your position along with other data such as Heart Rate every few seconds. If the Footpod is active, then the speed according to the Footpod is also recorded. By looking at each position that is recorded, you can work out how far you've traveled and how long it took. That should be the same as the foodpod speed if the GPS is accurate and Footpod is calibrated.
2.1 Is this different to a Garmin calibration run?
This is using the same principle as the Garmin calibration run, where you tell the Garmin to calibrate and then run about 1 Kilometer. The calibration run is comparing the GPS distance covered with the Footpod reported speed. The advantage of this utility is that you can use any run to check the calibration and you can run much further.
2.2 Flaws in the approach
The biggest flaw in the approach is that it relies on the GPS signal, and GPS is not that accurate itself. If you do not have a GPS signal, such as a treadmill run, then there is no calibration possible and this utility will show that no calibration can be automatically performed. That is because the Garmin recorded data is based on the Footpod, so it's calibrating the Footpod against itself.
2.3 Getting the best data
The best run to use for calibration is a run that has the most accurate GPS data. That will be a run that is reasonably straight, as twists and turns tend to reduce the GPS accuracy. A good view of a clear sky can also help a little.
2.4 Is there a better way?
A better approach would be to run a known distance, either on a track or using a known course and calibrate against that known value. The GUI version allows this type of adjustment.
3 Frequently Asked Questions
- Why do I see Footpod data when I'm not wearing the Footpod?
- The Garmin will record Footpod data if you have the watch set so that the Footpod is active, even if you're not wearing the Footpod at the time. This is a bit odd, but there's no way of detecting if the Footpod data is real or fake, though the calibration value is normally very close (within a fraction of a percent), with just rounding error discrepancies.
- Why is the 'actual distance' different from what I ran?
- The 'actual distance' field is updated based on 'good data', and ignores data where the Footpod and the GPS are wildly different.
4 Installation
- Download the GUI executable from http://fellrnr.com//Utilities/CalibrateFootPod/GarminFootpodCalibration.exe
- Download the Beta, which supports FIT files from http://fellrnr.com//Utilities/CalibrateFootPod/GarminFootpodCalibration_beta.exe
- Check the executable for viruses (Trust No One!)
There is no further installation ;}
5 Finding the Files
This utility requires either a TCX or FIT file from the watch and there are various ways of finding the files.
Device | Garmin Connect | USB | Garmin Express | Ant Agent | Training Center |
---|---|---|---|---|---|
Garmin 310XT | ? | X | |||
Garmin 910XT | ? | X | |||
Garmin Fenix 2 | X | X | |||
Garmin 620 | X | X | |||
Garmin 610 | X | X | |||
Garmin 210 | X | ? |
5.1 Garmin Connect
On the Garmin Connect web site, you can click on the gear/cog icon in the top right hand corner and select "export original".
5.2 USB Access
The more recent Garmin watches can be accessed via a wired USB connection. Simply start Windows Explorer and navigate to "X:\GARMIN\ACTIVITES" where "X" is the letter of the device.
5.3 Garmin Ant Agent
The Garmin Ant Agent is used to transfer files wirelessly using a USB stick. Note that this has been replaced by Garmin Express.
- Transfer the record of the run using the Ant Agent.
- Run the executable ParseTCX.exe with no parameters. The utility will try to find the store of TCX files that the Ant Agent uses.
- On XP this is under C:\Documents and Settings\<username>\Application Data\GARMIN\Devices\<device number>\History".
- On Windows 7 this is under C:\Documents and Settings\<username>\AppData\Roaming\GARMIN\Devices\<device number>\History"
- A command window should open and print out a scaling factor for each file it finds.
- On your Garmin, multiply your current calibration factor by one of the new scaling factors. So if your scale is currently 990 and the calibration factor is 0.94255403, the new scale will be 933.
5.4 Garmin Express
Garmin Express stores the FIT files under
C:\ProgramData\Garmin\GarminConnect\{devicename}\Upload\FIT_TYPE_4
5.5 Garmin Training Center
Garmin Training Center is an older desktop utility from Garmin.
- Transfer the record of the run to Garmin Training Center.
- Export the record of the run from Garmin Training Center as a 'TCX' file.
- Run the executable ParseTCX.exe passing the full path to the TCX file as a parameter.
- Open a windows explorer window and navigate to the folder with the TCX file.
- Right click on the TCX file and select "Open With..." then "Choose Program..."
- Click on "Browse..." and navigate to where you downloaded ParseTCX.exe from.
- I would recommend checking the box "Always use the selected program to open this kind of file" so that you can just double click on the TCX file in the future.
- Click OK
- A command window should open and print out a lot of data. At the end you should have a line that says "Multiply your current calibration factor by N" where N is the scaling factor.
- On your Garmin, multiply your current calibration factor by this new scale. So if your scale is currently 990 and the calibration factor is 0.94255403, the new scale will be 933.
6 Gathering the data
This utility does not require a special calibration run to gather data. Any run with your Garmin 310XT and Foot Pod enabled will provide the data needed. Running at a steady pace will provide good data. If you take Walking Breaks, this will tend to produce a lot of variability.
7 User Guide
- Run the executable (GarminFootpodCalibration.exe).
- If you click on the "Open History Files…" it will look for the history files transferred for the Garmin Ant Agent and you will see a screen similar to the one below.
- If you have the TCX or FIT file, you can open them directly.
- Use the tree view on the left to select the file you are interested in. You can expand a file with laps to view each lap separately.
- Entering your current calibration factor will show a new calibration factor you can enter based on the selected exercise or lap.
- If you know the distance you ran, such as a marked course or a treadmill, you can enter that value for a more accurate calibration.
- Hovering the mouse will produce extra help.
- You can load a file that has been exported from Garmin Training Center (see below) using the File, Open menu.
- The graphs give a visual representation of the calibration data.
- The top graph is the distance recorded by GPS and the Footpod. The values vary, as the Garmin does not record at even intervals,
- The bottom graph is the scaling factor. The horizontal lines show the average and the standard deviations.
7.1 Expert Mode
- Clicking on the 'Expert Mode' check box gives more detail and more options.
8 Support
As always Contact Me if you have a problem and I will try to help. Emailing me the TCX file helps debug any issues. You can also download the source code from http://fellrnr.com//Utilities/CalibrateFootPod/ParseTCX.zip
8.1 The Application Failed to Initialize Properly (0cx0000135)
If you get this message, it is probable that you don't have the .NET framework version 2.0 installed. Version 2.0 has been around a long time, and most users should have it available; I've only had this error reported once by a someone using an XP partition on a Mac. The first thing to check is that you're running a version of XP with at least service pack 2 installed, preferably 3. If you go to control panel, then system, the general tab should have "service pack X" shown. If you don't have SP2 or SP3, windows update should handle the upgrade for you. If you have SP2 or SP3, you can download .NET 2.0 and the updates for .NET 2.0 SP2 from http://msdn.microsoft.com/en-us/netframework/aa731542
9 Change log
- V3.0 Beta
- Support FIT Files.
- V2.7
- Get iRunSmooth support right this time.
- V2.6
- Fix build bug in 2.5.
- V2.5
- Look for the footpod data in any of the TPX child nodes, not just the first (needed for iRunSmooth).
- V2.4
- Prevent points in the TCX file from resetting the elapsed distance, which could dramatically increase the GPS distance detected.
- V2.3
- Change the way bad data is detected to allow for rounding errors
- Ignore data from between tracks, which often indicates a pause
- V2.2
- Support calibration without GPS, such as treadmill workouts
- V2.1
- Change to allow a variant of the TCX XML format (TPX without the CadenceSensor attribute)
- V2.0
- Major refactoring and the creation of a GUI version
- V1.2
- Fix a crash on TCX files that had a lap with no track points
- Add more defensive coding
- Many thanks to Dan M. for finding this bug!
- Documentation for 1.2 can be found at http://fellrnr.com/mediawiki/index.php?title=Garmin_Foot_Pod_Calibration&oldid=765
- V1.1
- Fix bug in XML parsing (Use of XML node name rather than local name)
- Add better error handling
- Correct behavior of number parsing in other culture settings
- Look for files in Ant Agent cache
- Add consistency rating
- Many thanks to Tibor Karaszi who provided some of the code changes for this release!
- Available as http://fellrnr.com//Utilities/CalibrateFootPod/ParseTCX_1.1.exe and http://fellrnr.com//Utilities/CalibrateFootPod/ParseTCX_1.1.zip
- V1.0
- Initial release
- Available as http://fellrnr.com//Utilities/CalibrateFootPod/ParseTCX_1.0.exe and http://fellrnr.com//Utilities/CalibrateFootPod/ParseTCX_1.0.zip