Why Apple Watch heart-rate samples aren’t exactly 5 seconds apart
I went down a bit of a rabbit hole today trying to understand how Apple Watch heart-rate sampling actually works during a workout.
I did a fartlek run this morning with my Apple Watch Ultra 4 and exported the raw Health data afterward.
The workout was about 40 minutes long. When I looked at the heart-rate timestamps, I expected to see something simple like:
10:00:00
10:00:05
10:00:10
10:00:15
But that isn’t what happens.
Instead I saw intervals like:
4 sec
8 sec
3 sec
6 sec
5 sec
7 sec
2 sec
Across the workout, though, it averaged almost exactly one stored HR value every ~5 seconds. The median was also 5 seconds.
There were nearly 500 HR samples, and even during a fartlek with constantly changing intensity, I didn’t find any meaningful sensor dropout. The longest interval was only around 9 seconds.
That made me think about what “continuous heart-rate monitoring” actually means on a wrist-based optical sensor.
Wrist HR is always an estimate
A chest strap has a relatively easy job.
It detects the electrical signal from each heartbeat and measures the time between beats.
A watch has a much harder problem.
The Apple Watch shines green LEDs into the wrist and measures tiny changes in reflected light as blood volume changes with each heartbeat.
But while running, that signal is mixed with:
- arm movement
- cadence
- changes in wrist contact
- vibration
- skin characteristics
- blood perfusion
- ambient conditions
So the watch isn’t directly “seeing 165 BPM.”
It’s seeing a very dense, noisy optical waveform.
Conceptually, it is more like:
Hundreds of optical measurements per second
- detect the pulse waveform
- remove motion/noise using other sensors such as the accelerometer
- identify reliable heartbeats
- estimate the underlying heart rate
- eventually output something like 165 BPM
That final 165 BPM is therefore a processed estimate, not an instantaneous raw measurement.
Why approximately five seconds might actually make sense
Initially I wondered why Apple doesn’t simply give us a new HR number every second.
But maybe that is looking at the problem backward.
The goal isn’t:
“Give me a number as frequently as possible.”
The goal is:
“Give me the most reliable estimate of my actual HR.”
At 165 BPM, your heart is beating around 2.75 times per second. Over roughly five seconds, that’s almost 14 heartbeats.
That gives the algorithm much more information to work with than trying to calculate an independent heart-rate value from a very short window.
So instead of chasing every one-second fluctuation, Apple can use several beats plus a huge number of optical sensor readings to produce a more stable HR estimate.
I suspect it is probably a rolling process
One thing I don’t think is happening is:
“Collect exactly five seconds → calculate HR → discard everything → start another five-second block.”
Apple doesn’t publicly document the exact algorithm.
A rolling or overlapping processing window seems more plausible.
Something like:
previous pulse information
- newest optical samples
- motion information
- signal confidence = updated HR estimate
That could explain why the timestamps aren’t perfectly five seconds apart.
Sometimes the next reliable value arrives after 3 seconds.
Sometimes 6 seconds.
Sometimes 8 seconds.
But over a long workout, the cadence averages around five seconds.
Interestingly, my data also showed that Apple wasn’t simply storing a new HR value only when HR changed. There were periods where it repeatedly stored essentially the same heart rate.
So it doesn’t appear to be:
“HR changed enough → save a sample.”
It looks much more like a continuous signal-processing system periodically producing a confident HR estimate.
And this may explain why Apple Watch can track a chest strap surprisingly well
A chest strap is still measuring something fundamentally easier: the electrical activity of the heart.
Apple has to infer the same underlying heart rate from blood-flow changes at the wrist.
But Apple also has a huge amount of raw sensor information available.
So you can think of it this way:
Chest strap
Electrical heartbeat
- beat interval
- HR
Apple Watch
Thousands of optical observations
- motion information
- filtering
- multiple heartbeats → best estimate of HR
And Apple’s approach seems to prioritize getting a good estimate every few seconds rather than producing a noisier number every second just because it can.
So when we say Apple Watch is “continuously measuring HR,” I think the important distinction is:
It is continuously observing the pulse signal.
That does not necessarily mean it is producing a brand-new BPM value every second.
The sensor may be working constantly, while the useful output of all that processing is approximately one high-confidence heart-rate estimate every five seconds.
That distinction finally made the Apple Watch HR behavior make much more sense to me.