Ambit with Suunto Link breaks heart rate data
Today, after installing suuntolink (MacOS) and suuntoapp (android) I synced my first move recorded with my Ambit using the new pipeline. The watch reported completely reasonable values throughout the run. Average HR looks normal.
This is what Suunto App as well as strava reported after the sync:
- HR looks very strange, with random spikes well over my maxHR during the first 12min
- HR data drops completely after 12min 5s into the run and just contains zeros
- average HR of 25
I never had this issue during the last 8 or so years using moveslink/Movescount. It is extremely likely that this is due to the “digital service transition”.
PS.: Forcing customers onto a platform that is not functional at all (at least for me), sounds like a pretty bad idea.
It is extremely likely that this is due to the “digital service transition”.
I guess you mean something like I have near 1:40 mark - HR in Suunto App jumps to 130+ and stays there for about 10 minutes while in Movescount it’s around 110? It’s a sloppy attempt to overlay HR graph from Movescount with the one from Suunto App, both from the same activity, same watch+HR belt combo (Ambit3P + Polar H10 ) , but must do for now…
And as it happens to be a cool-down jog at the end of my workout, Suunto App is clearly wrong here… right?
Well… they are both “wrong” and not just because ~ 110bpm would be absurdly low as in my case it really depends.
I’m afraid you are just witnessing different presentation of low-quality HR data. Movescount seems to process noisy HR readings so that graphs do looks more or less normal while in Suunto App we see more of those really sharp drops and rises. If you want to dig more into this, feed your activities through something that can plot individual inter-beat intervals of your HR data. Those IBI (or R-R) intervals are actual source for HR readings (unless you are using some optical HRM with your Ambit) and provide quite nice indication of measurement quality. I used Runalyze.com here, you can use it with fit-files exported from both Movescount and Suunto App.
Here’s how IBI time series plot of that same activity looks, only few sections are actually usable, all the rest is just guesswork for both Movescount and Suunto App, sometimes they agree, sometimes they don’t:
For a valid HR data, it should look more like this (it’s not the same activity):
Bad HR readings are more common than you might think. Spkies & drops only at the start of the activity are usually due to dry skin causing bad conductivity, once you start breaking sweat, HR reading usually becomes more stable.
Previous thread / post about
the samesomewhat similar issue - https://forum.suunto.com/post/60613 . If you look around, you’ll probably find few more in this forum.
Of course there still is a possibility of some sort of glitch, Suuntolink Ambit support hasn’t been around for that long. If you can locate Suuntolink data folder, you’ll find
suuntoapp.log, this could give you some hints of what went wrong.
It’s also possible to re-sync to see if it makes a difference: from the same folder you’ll also find
suuntolink_data.json, this includes a list of synced activities; If you clear that list (or just remove / rename
suuntolink_data.jsonand configure Suuntolink again) , it re-loads all activities from the watch and tries to re-send those to Suunto app; and for this to work, you first have to delete that broken activity from Suunto App.
If it keeps happening with new activities, I’d first clear watch logbook by forcing firmware update in Suuntolink (or whatever it was called there). And if that doesn’t help, I’d turn to support.
Besides, Ambit log memory is circular and my Ambit(1) and Moveslink seemed to struggle with (some of) those activities that rolled over - started near the end of log memory, then continued from the beginning. That’s why I’d try with empty logbook.
I’m afraid you are just witnessing different presentation of low-quality HR data. Movescount seems to process noisy HR readings so that graphs do looks more or less normal while in Suunto App we see more of those really sharp drops and rises. If you want to dig more into this, feed your activities through something that can plot individual inter-beat intervals of your HR data. Those IBI (or R-R) intervals are actual source for HR readings (unless you are using some optical HRM with your Ambit) and provide quite nice indication of measurement quality. I
Thanks very much @margusl for the details and sorry for getting back so late.
What you wrote makes completely sense and as a scientist who happens to have done lots of data analysis I fully agree. However, as a consumer/user I still have issues. Therefore I’ll split my response into those two.
What I did:
- resync move (no change)
- force firmware upgrade (including wipe of logbook)
- go for another run
Measurements will always be noisy and bad input will always produce either bad output or wrong output. Agreed!
After doing a second run I can also confirm that SuuntoApp is handling noisy data differently from movescount. Today I got noisy data during the first 10 minutes and afterwards a smooth curve. This was in agreement with a few drops in HR reported by the watch during the warm-up.
The part I cannot explain by just noise was the flat line starting at around 12 mins into my first run - I also didn’t die in that moment ;). This did not happen again, so maybe clearing the logbook helped.
Resolution: My HR raw data has always been noisy, Suunto app is handling that data less graceful than movescount and my first run with suuntolink happend to be a particularly glitchy one.
I attached two images below, both showing my first run as presented in Suunto app.
As a consumer I do not necessary care whether my data is correct, as long as it is useful and I’m happy with it. I was happy so far: I could use the HR reported by the watch to pace myself during intervals and races and I could roughly track mit hr-based TSS. Importantly, the watch and movescount gave consistent numbers
With Suunto link I got:
- a noisy chart, that doesn’t help at all (in contrast to the values my watch gave me during the run, which were completely fine)
- two charts within suunto app (the normal and the zoomed in one) that don’t even agree
- an average HR reported in strava that is very different (25bpm vs 159bpm) from what the watch reported (hence very wrong TSS)
In summary: Not helpful anymore, and I’m not happy regarding my intended use case.
And again, as a scientist I do get that the two graphs are probably generated by two different libraries (both doing their own bit of smoothing and interpolation, which given bad data, will result in different charts) and that SuuntoLink probably shows the average HR computed by the watch vs Strava computing it from the corrupted graph, but as a consumer I become highly sceptical with a product that gives me inconsistent and obviously wrong data.
Give users consistent and more or less reasonable data and they will be happy!
@gmyny So as another scientist here, you have not addressed all possibilities. If the data are noisy then the first culprit would be to check the belt. Try a different belt and see what happens. Your watch is not showing you the noisy IBI data that are used to create the chart. Measurements will always be noisy and bad input will always produce either bad output or wrong output. Agreed! So I as I like to say Garbage in Garbage out as far as data are concerned.
I’d love to see some HR quality metrics, ideally real time during my activities and also later when analyzing. Dreaming about confidence bands on a HR plot here …
I believe FirstBeat Athlete had HR fault detection and reporting built in. And well, Runalyze does have “Anomalies” metric, though I think it’s way too optimistic, for this
their Anomalies figure is 10.4% . Well, it might add up if 10.4% indicates the number of IBI samples they have cut off with their filters, but I’d rather expect to see total vs messy time or some kind combined metric on 1 to 10 scale ( if I’d have HR data issues only while doing short hill sprints, anomalies percentage for both time and sample size would be too low when most of activity duration is spent for warm up & cool down - a real life example).
But I doubt any device manufacturer wants to add something like this to their own watch / ecosystem as I believe this applies to majority of users :
@gmyny said in Ambit with Suunto Link breaks heart rate data:
but as a consumer I become highly sceptical with a product that gives me inconsistent and obviously wrong data.
Give users consistent and more or less reasonable data and they will be happy!
Same to me. I already forgot about this issue since I tried using SA. Pulse information is imprecise at SA.