A FIT-to-GPX Converter that Understands FIT Version 2

Nikon D4 + Voigtländer 125mm f/2.5 — 1/200 sec, f/2.5, ISO 6400 — map & image datanearby photos
That Face
when you realize that Garmin has screwed you yet again
( statue at the Ushio Kannon Temple — 牛尾観音described here )

I've complained for more than a decade about what a horrible company Garmin is (such as here in 2006, here in 2013, and here last year, among others). The only thing worse than their hardware design is their software design, but it's a strong competition to the bottom, backed by an apparent company-wide disdain for their customers.

The latest evidence of this disdain is new firmware for some of their cycling computers that renders them utterly incompatible with Garmin's own desktop software, and, for good measure, almost all other track-processing software in existence. Of course, this feature is not even hinted at in the release notes. In my case, they got me via a firmware update for the Garmin Edge 820 that I cycle with.

The problem is manifest in the FIT file that the unit produces after an activity, containing info about the activity (the route you took, the status of the sensors such as your heart rate along the course, etc.). Since the FIT file format was created by Garmin more than half a decade ago, it's been at Version 1, but this new firmware update bumped the FIT file format to Version 2. And that's the problem, because Garmin's own software can't handle Version 2 FIT files. If your workflow with Garmin's product relied on Garmin's products, you are screwed.

(If you relied on other, non-Garmin software, you're almost certainly screwed there as well, because almost nothing handles FIT Version 2. The only saving grace here is that Strava can handle a Version 2 FIT file, so a riot has been averted.)

Panasonic LX100 at an effective 24mm — 1/250 sec, f/5.6, ISO 200 — map & image datanearby photos
( taken during this ride )

My after-ride processing requires a GPX file, which I used to convert to via the most-excellent GPS Babel, but like most other software, GPS Babel doesn't work with the new FIT files. So, I came up with a cheap substitute fit2gpx script that invokes the ANT+ consortium's FIT to CVS java utility under the hood. That utility does handle both Versions 1 and 2 FIT files, and perhaps will be kept up-to-date going forward, so even if Garmin decides to screw everyone again with a surprise-and-unsupported move to Version 3, perhaps we'll be covered.

Here's the script at GitHub:

FIT to GPX at GitHub

It's my first project to try GitHub with.

Panasonic LX100 at an effective 24mm — 1/125 sec, f/1.8, ISO 200 — map & image datanearby photos
Calm Thoughts
( from this ride )

As I mentioned, the script is cheap and kludgy; it does exactly what I need, but not much more. The GPX file it produces is not even standards compliant, because it uses simple Strava extensions not published as a DTD. This is why I'm trying GitHub, to allow others to make these changes if they like.

Panasonic LX100 at an effective 28mm — 1/125 sec, f/2.1, ISO 2500 — map & image datanearby photos
Life With Garmin
down a black hole
( from this ride )

Leave a comment...

All comments are invisible to others until Jeffrey approves them.

Please mention what part of the world you're writing from, if you don't mind. It's always interesting to see where people are visiting from.

IMPORTANT:I'm mostly retired, so I don't check comments often anymore, sorry.

You can use basic HTML; be sure to close tags properly.

Subscribe without commenting