Garmin HRM-TRI – Detailed Hands-On Review

I waited a while before buying a HRM-TRI. Believe me it was difficult. This product showed the promise of doing EVERYTHING in the world of heart rate measuring for triathlon that I had ever dreamed about (except BTLE) AND a little bit more.

Garmin HRM-TRI (HRM-SWIM) Review

Garmin HRM-TRI (HRM-SWIM) Review

My self-enforced wait was because I know how difficult the implementation of HR caching underwater has been for a few other manufacturers. I wanted to make sure that the most obvious bugs had been rectified before I devoted some time on this.

There have been numerous initial bugs and difficulties in using the HRM-TRI with my 920XT and with some of the software platforms I regularly use. Day 1 – bugs. Day 2 – bugs. So; it was pointless me waiting after all.

This product promises a LOT. At GBP100 (Sep 2015) this is by far the most expensive HRM on the market (excluding audio enabled earbud HRM like the JABRA). So as well as promising a lot it should also deliver a lot.

The promise is an ANT+ HRM that will cache all underwater swim HR data and later upload it to your watch. It also completes the HRV data gaps for swim data for triathletes that otherwise is generally not there. It promises enabling interval/set based HR summarises for pool sessions.

Here is a one minute summary review of the HRM-TRI or read on for the detail.


At GBP100 for one I certainly was not going to buy both to tell me how much I need to improve my swimming. So what are the differences between the recently announced models?

HRM-TRI: This is all you really need from a single HRM. It will almost certainly do everything you want for swim, bike and run. Yes it does HRV and yes it does all the HRM-RUN bouncy stuff.

HRM-SWIM: It’s a bit better at lasting longer in a chlorine based pool environment. It is a bit wider and, coupled with better rear suction, will stay in place when you are just doing pool training without wearing a tri-suit (or similar) to keep the HRM in place. If  you’re just a swimmer you will buy this. It will look sillier as it is very blue. THE  HRM-SWIM WILL *NOT* DO THE HRM-RUN bouncy stuff.


Read Carefully: As an ANT+ HRM it will broadcast simple, live HR data to many ANT+ devices. HOWEVER all the clever stuff will only go to a Garmin FENIX3 (HR), 630, EPIX or 920XT (or newer versions thereof).

Fenix2? 910XT? Vivoactive?

No! No! and No!. Sorry.


Garmin HRM-TRI (HRM-SWIM) Review

It comes in the standard-looking Garmin accessory box.

Here is a link to the ‘manual’/instructions.

Inside you get the HRM-TRI and an extender strap. That’s it, other than plastic bags and bits of paper.

The extender looks like it will work on most Garmin HRMs and is a simple and neat idea. They’ve applied the same design principle to watch strap extenders. The HRM-TRI when fully extended will fit a chest size of up to 142cm although I would imagine you could use easily several extenders together.

Garmin HRM-TRI (HRM-SWIM) Review


A Closer Look At How It’s Made

The POD does NOT come off. It looks like it might if you force it but it won’t. Do NOT try!

The non-detachable pod is different to all recent Garmin HRMs and those of many competitors. Do NOT try to get the pod off. Once either the pod or strap breaks then you will have to throw it away if not under warranty.

However, the battery is replaceable. The blue surround easily comes off and you can unscrew 4 screws (Phillips 00) to replaces the standard CR2032 battery. The battery supposedly lasts about 300 hours. I’m not convinced, as previous pods were recommended to be removed from the strap to prolong the battery and I’ve just said that these pods cannot be removed…

As the HRM-TRI is so expensive you might probably want to take more care of it than you do with your other straps! So: Rinse daily; wash weekly (tiny amount of detergent; and dry flat.

Garmin HRM-TRI (HRM-SWIM) Review

Garmin HRM-TRI (HRM-SWIM) Battery

In reality you will probably never use the HRM-TRI for just running or cycling. You’d use your old strap for that.


The HRM-TRI compares favourably to the competition. Whilst it is bigger than the Suunto (not shown) it is otherwise pretty small compared to the rest.

Garmin HRM-TRI (HRM-SWIM) Review

Garmin HRM-TRI (HRM-SWIM) Review 4iiii Viiiiva Wahoo TICKR-X HRM-RUN

Although you can see that width-wise it’s virtually the same as the HRM-RUN.

Garmin HRM-TRI (HRM-SWIM) Review


On the reverse you will see some blue material. This appears to be identical to that from which the HRM-SWIM is made. It is a bit sticky and will and does help it stay better attached to your skin. Although, as you can also see, the extra 3rd and 4th sensor pad of the latest HRM-TRI strap is NOT there. I’m not sure what to read into that.

Garmin HRM-TRI (HRM-SWIM) Review

Garmin HRM-TRI (HRM-SWIM) HRM-RUN Comparison Rear

Note well. The HRM-TRI MUST be worn the correct way up. ie with the logo facing the correct way. I suppose your heart is not central to your torso? So that may be the reason it could make a difference. For £100 I’m going to wear it the right way!!

HR Underwater – How the caching works

Simplistically it stores up to 20 hours of HR on the pod and uploads it at the end.

Read on…

My understanding is that the HRM-TRI starts recording as soon as it senses a HR. It presumably records against an internal timestamp.

It could be possible that it waits until a compatible watch tells it to start recording but I doubt it. I would imagine that ANT+ generally remains only a one-way signal from the HRM-TRI to any device that’s listening ie the Fenix3/Epix and 920XT are all just ‘listeners’ (although an obvious exception to this is the recent other-way firmware update)

Once the supported watch (920XT) is stopped it searches for data and uploads it from the HRM.

The HRM cannot continuously look for and record HR internally. So presumably it must go to ‘sleep’ once no HR is sensed to save battery?

We could continue to wonder how data might be deleted within the pod and /or if it repeatedly broadcasts the entire 20 hours it stores.

I’m not sure. So you see, it is initially conceptually simple to ‘understand’ how it works but much less so when you think about the less usual stuff that happens from time to time.

Here’s what Garmin say:

At the end of the session, the 920 receives all the stored (and time-stamped) heart rate data from the HRM-Tri and simply appends that data to the end of the .fit file. The 920 uses the data to compute some summary metrics for display in History, but the full merging of the HR data into the activity file is done offline by a HR Swim plugin on the PC side. Merging all the HR data with the rest of the activity data is computationally intensive and would be taxing on the 920 resources. It is faster for the user and easier overall to do it this way. Source Garmin via dcrainmaker

So does it append it on to the end of the swim part of the multisport file or the end of the entire fit file? (probably the entire fit file).

Moving on.

The watch seems to only look for data to upload when SAVE OPTION has been chosen at the end of the exercise.

On Garmin’s website they state that the HRM-TRI delivers “Swim interval heart rate statistics”. My interpretation of that is that you get stats updated to your watch whenever you are out of the water (not the case). Garmin’s interpretation seems to be that everything is uploaded once you press SAVE and you can view the intervals later.

Indeed Garmin seem a little confused as the Int. Avg. HR and Int. Max. HR (below as an example) ARE indeed shown briefly when ‘lap’ is pressed in pool swim mode. By briefly I mean for about 0.2 seconds!

Garmin HRM-TRI (HRM-SWIM) Review

Garmin HRM-TRI (HRM-SWIM) Review

So while you are normally standing at the end of the pool it would look like this:

Garmin HRM-TRI (HRM-SWIM) Review

Garmin HRM-TRI (HRM-SWIM) Review 920XT

Not so useful.

It seems that the watch is not working as I expected either because it is allowed to display metrics that don’t work or the watch is not uploading at the end of each set/interval.

I also checked the REST SCREEN behaviour. It seems to be the same. It would have made some sense if the previous interval HR data was shown here. But it isn’t (it can’t be…it’s uploaded at the end of the session, remember!).

Finishing Up And Retrieving the Cached Data

When SAVE is pressed 3 messages are shown indicating that the 920XT SEARCHES for data, then DOWNLOADS the data and then STORES the data. The messages appear quite quickly but those are the approximate words/phrases that appear rather than the exact text.

It is possible to press stop and then press RESUME without initiating the cached HR download process. That makes sense.

No HR data is shown on the activity summary.

EDIT: It is possible to force an upload from the HRM-TRI later if, for some reason, the watch missed downloading it – I have NEVER had to use that facility..


It’s seems accurate in what is RECORDED. HR Zones, Highs and Lows look right. I don’t intend to compare it to the HRM-RUN or to a POLAR H7.

There are no unusual peaks and troughs. But then I would only expect that as the product ages.

When I have managed to record HRV data it appears to be right in the sense that it is consistent with previous data I have recorded.

Calculations that could be based on HR such as Training Load and Training Effect and Recovery Time may well be wrong if they rely on default HR zones or run/bike HR zones. Some of these calculations look wrong to me on Garmin connect.

Garmin Connect

On the whole Garmin Connect shows the HR data you would expect (well it did for me, others have problems with gaps in the data). For example on the exercise summary screen and then when you zoom in to the exercise itself you get something like this:



This particular session had a moving time of 40 minutes and a training effect (TE) calculated as 2.2. That seems wrong to me. I have HR zones set for RUN and BIKE but can’t seem to be able to do it for SWIM (although you can on the watch). My max HR for swim is a lot lower than for run/bike (as indeed is my LTHR for each of those sports). So, yes, the TE may well be wrong.

Other 3rd party such as SPORTTRACKS already allows custom zones for any sport. So my data there from SWIM TRAINING LOAD is correct.


The companies most likely, in the future, to produce a directly competing and compatible swim-enabled HRM are 4iiii (Viiiiva) and WAHOO FITNESS (TICKR-X). I would imagine that those two companies would be very close to being able to market that functionality through a firmware release if that was their chosen way forwards. I don’t know if that is their chosen way forwards.

Apparently it is possible for competitor products to adhere to the Garmin standard for this.

If you place any ANT+ HRM REALLY close to a FENIX3, EPIX or 920XT then those watches do now show (but not record) HR data in POOL SWIM or OPENWATER SWIM or TRIATHLON modes. This needs to be on the same wrist as the Garmin watch. So a HR-wrist-band like a MIO FUSE or LINK will ‘work’ in the sense that it is possible to get data to display on a 920XT underwater. However the FUSE does not cache data in a way that is compatible, so when communication is lost then there would be no HR that the 920XT will ever be able to retrieve.

HRV data would only be recorded if it were created properly – optical HR is unlikely to do that accurately at present.

3rd Party Software Compatibility

“Why should this be an issue?” you ask.

I’m not sure. But it is.

Swim-only files that I created have problems being used elsewhere eg SPORTTRACKS, and FIRSTBEAT. (Fitfile tools is required to convert the FIT file to SDF to make FIRSTBEAT work).

I have heard others report problems with STRAVA and TRAINING PEAKS.

Triathlon-mode files seem to largely work with Sporttracks using the standard importer for SPORTTRACKS, this was fixed i nearly 2016.

What happened: Garmin have put some extra, new and previously undocumented bits into the FIT files so 3rd party software won’t work in many cases, unless specifically changed to support the product by the 3rd party.

Whilst the larger players like Sporttracks (Edit: now working), Golden Cheetah (seemingly working) and Training Peaks no doubt already have their developers on this; many other smaller companies might play a waiting game with their software updates.

Other Points

  1. Using a 920XT with a MIO Link in pool swim mode: As we know the HR shows but is not recorded. At the end of a session the device STILL looks for cached HR data for about a minute. With the MIO Link you get the message “No HRM Connection – Search Again/Skip” and then “Save Session without HR? – Yes/Search Again”.
  2. Once you have used a HRM-TRI with a 920XT it then ALWAYS looks for cached HR data whenever HR data is missing from any exercise (including RUN/BIKE…not fully tested by me). Mildly annoying but needed.
  3. So for those of you who literally want to view live HR underwater (all 3 of you) then you could maybe use 2 HRMs if the 920XT looks for cached HR data at the end of the session from the HRM-TRI to save into the FIT file. Although I doubt it would connect to a different HRM at the end of the session and I’m not going to try it! It almost certainly won’t work with 2x simultaneous HRMs.
  4. At the end of a run session where I deliberately went out of range from the HRM-TRI then I can confirm that the cached HR data was correctly retrieved at the end of the session.
  5. Following on from the previous point it seems possible therefore to, for example, start a session on the touchline of a football game. Leave the 920XT in your kit bag and play the game. At the end of the game all your HRM-TRI data will be retrieved and saved to the 920XT. (Edit: Jun 2016 the precise nature of this functionality now appears changed since this review. Possibly due to footpod support with some hardware models. HR is certainly cached but seemingly now no other data)
  6. The 920XT *DOES* have the scope to enter SWIM HR ZONES. That might get TE/TL etc. correct on the watch and on what is stored in the fit file. However on Garmin Connect I can only see that you could possibly change the DEFAULT HR ZONE profile to contain swim ZONES. I’ve done that but not sure if it works.


It’s expensive but the advertised feature-set is about perfect.

Recommendation: BUY

All that is missing in Garmin’s underwater HR offering right now are a few unusual scenarios to show water underwater when a device is very close by – but that really is not directly related to the HRM-TRI.

Unfortunately it needs a little more work from 3rd parties to get it all working properly in those environments. If you just use Garmin Connect and (edit Jun 2016) SportTracks, you’re good to go.

Edit: Mar/Jun 2016 – I now use mine regularly. Should be OK to buy  – 3rd party software analysis tools compatibility is still an issue. Firstbeat ATHLETE requires .FIT to .SDF conversion and I use FitFileRepairTool for that. I have had one issue where the data was not properly downloaded to the watch however the 920 has a facility to force the download which worked.


Black Friday 2015 Amazon UK Amazon USA
4iiii Viiiiva V100 HRM £79.99 Link $77.64 Link
4iiii Viva Mini TBC
SMS Bio Sport Ear Bud £40.97 Link $69.99 Link
Garmin Heart Rate Monitor (Hard) £31.00 Link $39.09 Link
Garmin HRM-RUN (Soft) £51.36 Link $99.99 Link
Garmin Premium (Soft) £31.89 Link $39.99 Link
Garmin HRM-Swim £76.00 Link $98.99 Link
Garmin HRM-Tri £96.52 Link $129.99 Link
Jabra Sport Pulse £99.00 Link $123.10 Link
LifeBeam Smart Helmet n/a Link $185.49 Link
MIO Fuse £94.95 Link $129.95 Link
MIO Link £58.95 Link $61.51 Link
MIO Velo £84.35 Link $111.19 Link
Polar H6 £54.50 Link $42.99 Link
Polar H7 £37.49 Link $51.45 Link
PowerTap PowerCal ANT+ £104.49 Link $95.99 Link
PowerTap PowerCal Bluetooth £87.53 Link $95.99 Link
Scosche Rhythm+ £70.00 Link $79.95 Link
Suunto Smart Belt £43.68 Link $54.91 Link
Under Armour Armour39 $62.99 Link
Wahoo RFLKT £71.99 Link $89.99 Link
Wahoo RFLKT+ £79.99 Link $128.57 Link
Wahoo TICKR £44.14 Link $59.85 Link
Wahoo TICKR-RUN £64.99 Link $71.92 Link
Wahoo TICKR-X £79.90 Link $99.90 Link


5 thoughts on “Garmin HRM-TRI – Detailed Hands-On Review

  1. Do you know any open sourced 3rd party app that supports reading these new bits? The perl module I use hides them by default and is not able to parse the cached heart rate array.

    • Hard question. I don’t know for sure. My understanding is that the spec is public. I know sporttracks and firstbeat are currently working on it. I imagine 4iiii and wahoo might be making their products compatible – but I’m just speculating on that last point. but in terms of ‘open sourced 3rd party app’ i’m struggling.

    • fit file repair tool (the access one) will now ‘repair’ these cached files. I used that functionality every week and it allows the fit file to be properly saved in other formats eg I use sdf but saving to tcx I imagine would work equally well.

  2. Hi today I tried exactly what you described on point 5 during a soccer game with mixed results. At the end I got the HR data as expected, but no pace, distance, anything else. I was kind of hoping to get that info as well. Did you actually tried that out? What profile did you use for the activity? Thanks!

    • hmm. I just tried that as well and got the same results as you in indoor running mode. Either: might have to experiment with other profiles and GPS off; and experiment with speed source. But the difference could simply be that there have been LOTS of firmware changes since then SPECIFICALLY relating to the handling of footpod data (ie alternate speed/distance source changes have def been made) which is now supported when previously it was not. I don’t have any way of easily going back to old firmware to test that. sorry. I will make a note in the review to that effect.

Leave a Reply