Is there a way to collect heart rate and step data continuously in the background?

I recently bought a Garmin watch and am somewhat disappointed on downloading the data it’s collecting that the continuous heart rate only seems to be recorded every two minutes, even though the Garmin website states ‘The optical HR monitor in Garmin wearables is designed to sample your heart rate multiple times per second, 24 hours a day, 7 days a week.’

The step count data seems to be even worse, aggregated every fifteen minutes!

I was wondering if there's any way to increase the frequency of these measurements being recorded since they're clearly being taken far more frequently than that, whether by a setting I've missed, or an app that can run in the background and keep a record.

Thanks in advance for any pointers!

  • Yes, but activity is rather saved good and you can fetched fit file from GC.

    Here is a problem of steps, hr etc. out of activity so I suggest to fetch data that are already saved by system instead writing own app on condition if the aren't aggregated (btw. I have had no problem to analyse FIT data from GC but I have not been able to retrieve the data from watch even the have FIT extension).

  • Do you have any idea where more granular data might be saved?

    There is a fit file in the 'Monitor' folder on the device which seems to be the all-day monitoring (perhaps where it's stored between syncs?) but the heart rate data in this file is still only recorded every 60 seconds.

  • I didn't find it because didn't look for it and even had problem to read data from those files. Maybe there is no such data at all.

    I've analysed only files from activity.

    Have you already checked sensor history?

    What data do you want to save? HR, steps what else?

    Is this app only for you and the those data is very important so e.g. battery had no meaning?

  • I managed to read the data from the 'Monitor' folder using the FITfileR library in R. The layout is a bit strange (eg bizarre timestamps probably in seconds since some unspecified time) but I think it could be made to make sense if I put a bit of time into it.

    I've not started writing an app yet—I was hoping there would be a solution without needing to do that! If there's a simple template I can modify with these requests to see what's available in sensor history I'd be very interested to see it.

    I'm particularly interested in heart rate and step data (to calculate eg resting heart rate, which requires more detailed heart rate data and the ability to identify times when I wasn't moving more precisely than a 15-minute window) but if there's an easy way to get better time-resolved data for other things I'd be happy to throw that in too.

    Battery-wise, I don't want to ruin the watch's battery life, but I'd be surprised if simply storing values that have already been collected made a huge difference? :)

  • If you find this data there will be no problem. So first try to find it FIT files on watch (there are a few directories with FIT files).

    Don't you have resting HR in watch? It's a metric from the beginning and it's exposed directly in Toybox.UserProfile.Profile.

  • Yes, the watch provides the Garmin estimate of resting heart rate, but they say it's calculated while you're sleeping, which is incorrect—it should be while you're awake but not active. This means it's not comparable to other devices or studies—and in fact is misleadingly flattering to the user!

    I tried searching the watch for FIT files and already mentioned the only one I found that looked like it might be relevant. :)

  • Look in garmin/activites.  Those are the fit files from when you record an activity.  With 1 second recording, you'll see the hr every second

  • I’ve found the FIT files in Activities, but obviously these only correspond to activities—what I want is these numbers during 24/7 recording. :)

  • I can see my resting hr is changed during the day so it can't be counted only during the sleep.

    The problem with monitoring FIT data is system can overwritten it (with synchronisation or at midnight, etc.) so you have take it regularly.

  • What's the use case? Because it sounds like it's not very user friendly. Could be ok for a POC, but not for users. They would need to contact the watch via USB to a computer and run the program that downloads the relevant files.

    Maybe it would be possible to get the same data via some apis that Garmin provide, so the data would become available to your server immediately after they sync with GCM.