Garmin FIT file details

I took a closer look at the data stored by the EDGE 530 in the record message (globalMessageNumber 20).

There are some fields stored, which are not mentioned in the official fit file documentation (https://www.thisisant.com/developer/resources/downloads)

Does anyone know, which information is stored in the fields 61 (uint16), 66 (sint16) and 108 (uint16)?

  • I've deciphered a lot of the Garmin FIT file messages for things I use, but I haven't noticed those fields before.  

    Looking at my various activity files, I don't see those fields in the  RECORD messages for my watch activities, just the 530.  I also don't see it on the 530 for a trainer ride.

    My gut tells me it has something to do with the mountain bike metrics like Grit and Flow, although looking at the data, it doesn't seem to match any of the graphs in GC.

    In the one ride I'm looking at:

    field 61 starts at 5731, climbing to a max of around 7000, before falling close to 5731 at the end. Almost seems elevation related, but not quite.

    field 66 starts at 330, gradually falls to about 300, before climbing to 350 at the end

    field 108 oscillates between about 1300 and 2800 throughout the ride. 

    Please post back here if you figure it out.

  • Are you running any CIQ data field that are recording additional user data to the fit file?

  • This has nothing to do with CIQ data fields.  CIQ custom field numbers start at 256 in the fit file.  0 gets mapped to 256, 1 to 257, etc.

    These are fields added by the native app on the Edge devices, most likely specific to MTB dynamics.

  • These are fields added by the native app on the Edge devices, most likely specific to MTB dynamics.

    I don't think so. Grit and Flow are mentioned in the fit file spec (114 and 115). I am not a user of the GARMIN Connect web site, but while playing around I noticed a graphic that shows the "breathing rate". Maybe one of the fields stores the breathing rate and is only recorded if a heart rate strap is used which is able to measure the breathing rate? I will try to find out.

  • I compared the data stored in field 108 using scale=100 and offs=0 with the breathing rate shown in the Connect Web site. They are the same. Field 108 is used to record the breathing rate. :-)

  • Respiration rate makes sense since my example above would range from 13.00 to 28.00

    I was using a HR strap during this.  And in the list of fields (they aren't in order in the file) 108 was right next to another field, 54, I just have labeled as "unknown_hrflag".  I don't recall what made me think it was some kind of hr flags.

    I also just noticed my F6 data from the other day also has 108 and that was one of the rare occasions I had the HR strap on and paired to the watch.

    61 really does seem to keep in lock step with my elevation.  And I only see that one in the Edge files.  It's not just pressure since that changes inversely from elevation.

    Anything under 256 has to come from the native apps, as Garmin itself adds the data, rather than CIQ fields adding custom data.  That doesn't mean it isn't data from an external sensor, just that it's Garmin's own code adding the field to the FIT file.

  • I haven't updated my copy of the spec for a while so didn't realize Grit and Flow were in the spec.