Cadence lock: Why GPS watches have a hard time measuring heart rate during running

Does your GPS watch report bizarre, dramatic spikes in heart rate in the middle of your run? I received a text message from a friend recently with this screenshot of his heart rate and elevation data from an easy run:

This was from a typical run on pretty mild to moderate hills. At first glance, you might think that running uphill triggered an abrupt increase in heart rate, but unless this coincided with an abrupt surge in speed, such a big spike in heart rate seems very strange.

Looking at this plot, it seems like one of two things is happening: either (a) my friend’s watch is seriously mistaken about his heart rate, or (b) my friend should see a cardiologist.

Even though companies like Garmin or Apple or Fitbit keep their data processing algorithms pretty close to the chest, my PhD research involves a lot of work with wearable technology, so I have a pretty solid understanding of what’s going on under the hood when a GPS watch is estimating things like running speed or heart rate. What could be going wrong here?

I immediately noticed that the supposed “heart rate” being reported by the GPS watch in the screenshot above looked suspiciously similar to the range of values you’d see for cadence—around 165 to 185 steps per minute. So, I asked him to send me an overlay of his heart rate and his cadence (which is also measured by the watch). An, lo and behold—at halfway through the run, a near-perfect match!

This phenomenon is something that’s been dubbed cadence lock in the running scene—sometimes, your watch seems to “lock onto” your cadence, confusing it with your heart rate. Why does this happen, and how can you fix it? To answer these questions, we’ll need a bit of background on wearable tech.

How do GPS watches measure your heart rate when you run?

Heart rate sensors on GPS watches are a relatively new innovation, but they rely on techniques that date to the mid-20th century. If you have one of these watches, you know they have a bright green LED on the wrist-facing side, like this:

The watch above has three green LEDs, and one photosensor (the black square in the middle). This approach is called photoplethysmography, or PPG, and is the same technology used in pulse oximetry (which is used in hospital “finger clips” to track blood oxygenation.

Here’s the basic idea: the way the hemoglobin proteins in red blood cells absorb light is affected by whether or not they are currently carrying oxygen. Further, because blood vessels contract and expand along with the beating of your heart, the way certain wavelengths of light (such as green light!) are absorbed, or not, varies predictably as your heart beats.

Because each beat of your heart sends a wave of freshly oxygenated red blood cells rushing through your lungs and into your blood vessels, there is an ebb and flow to the amount of light absorbed by the tissue close to the surface of your wrist.

So, in theory, it should be possible to look at the rise and fall of the light absorption at the wrist to detect the heart rate. And indeed, most of the time this works just fine! The only problem is, in running, things get a bit messy.

Why is wrist-based heart rate so inaccurate during running?

Running causes problems for wrist-based optical heart rate monitors because it creates strong acceleration signals that interfere with the optical data coming into the watch. There’s a nice open-source dataset at PhysioNet that beautifully illustrates the problem. Check out the following plot:

We’ve got three sources of data: a chest electrocardiogram (also known as an ECG) measuring the true contraction of the heart via electrical activity, an optical sensor at the wrist measuring the optical signal on the back of the wrist, and a wrist-worn accelerometer, which measures the motion of the wrist. The person in this plot is running at a pretty easy pace on a treadmill. A few things to notice:

  1. On the chest ECG (top panel), heart rate jumps out plain as day. This runner’s heart beats nine times in five seconds, meaning his or her heart rate is about 108 beats per minute during this five-second window.
  2. In the acceleration data at the wrist (middle panel), cadence jumps out pretty clearly as well. It’s a bit harder to see if (unlike me) you don’t look at this stuff all day long, but based on the repeating pattern of acceleration (which comes from the forward-backward swinging of the wrist and the up-down bouncing of the body), it’s pretty clear this runner takes about 11 steps in ten seconds, meaning his or her cadence is about 132 steps per minute.
  3. The optical data from the wrist (bottom panel) is pretty messy!

You can probably start seeing where we’re going here. The problem that a GPS watch faces is trying to extract the heart rate signal from all the noise generated from your cadence. One way to get a handle on the difficulty of this problem is to take a look at the different frequencies present in each signal. That’s what the plot below is doing:

You can probably start seeing where we’re going here. The problem that a GPS watch faces is trying to extract the heart rate signal from all the noise generated from your cadence. One way to get a handle on the difficulty of this problem is to take a look at the different frequencies present in each signal. That’s what the plot below is doing:

For the engineers out there, this comes from a Fourier transform; if this means nothing to you, don’t worry about it. Notice the problem? The heart rate signal at the wrist is tiny compared to the noise from the motion of your wrist! Thus, it’s easy to see where “cadence lock” comes from: the watch locks onto the noise generated by the motion of your wrist, instead of the true signal generated by your heart.

As you might imagine, the problem of tracking your heart rate amid all this noise gets even nastier in two situations:

  1. When the wrist acceleration signal is very strong—which is what happens when you are running fast
  2. When your cadence gets close to your heart rate—which also happens when you are running fast

This, of course, is quite annoying for people who do heart rate-based training, since you’d normally be especially concerned with your heart rate during your workouts.

We might imagine some ways to attack this problem: use multiple optical sensors, try to somehow subtract the acceleration signal out of the optical signal, and so on. You can bet this is what companies like Apple, Garmin, and Fitbit try to do. But, given what we’ve seen above, it’s likely that even the best tricks won’t always work.

How to improve the accuracy of wrist heart rate measurements during running

First off, if knowing your heart rate is absolutely critical to your training, use a chest strap instead. That’s the best way to guarantee accurate readings. That being said, there are a few strategies you might use to improve the quality of wrist-based heart rate measurements.

For starters, strap your watch on tightly and make sure the sensor is clean. When the optical sensor is pressed against your skin, it will move around less when you run, and have a better chance at reading your heart rate accurately.

Another trick you can try is holding your arm out in front of you for several seconds before checking your heart rate. The idea here is to reduce the acceleration on the wrist from the swinging motion of your arms. I suspect this will work less well than you’d think, because even when you don’t swing your arms when you run, they are still bouncing up and down quite a lot with respect to the ground (because your arm is attached to your torso).

An optical heart rate monitor that experiences less acceleration—for example, the kind that goes on your forearm or upper arm—will likely have an easier time detecting your true heart rate and not falling prey to cadence lock.

Still, as I mentioned above, even the upper arm experiences quite strong accelerations during fast running, so even an arm-based optical heart rate sensor is not likely to be a perfect solution for everyone.

Lastly, if your watch supports it, change the settings on your watch face to display your cadence on the same screen as your heart rate. If you check your heart rate and see it closely tracking your cadence, you’ll know that you’re experiencing cadence lock, and you should disregard what your watch says.

Recap

There’s a lot more to say about whether heart rate training for runners is even a good idea in the first place (I for one am skeptical), and there’s also more to say about a range of other factors that can affect the accuracy of a wrist-worn heart rate monitor.

The bottom line is that you should keep your sensor clean, make sure your watch isn’t loose, and compare your recorded heart rate against your cadence. If they’re suddenly changing in lock-step, you know something is off, and you shouldn’t trust your wrist-based heart rate data.

Learn more about watches and wearable tech for running

Want to hear when I've got new articles on heart rate, cadence, and other topics related to wearable tech and running? Sign up for my email newsletter!Because my PhD research was focused on wearable technology for running, I write about these topics all the time. Stay in touch to find out when I've got new content coming out.

Sign up below!

About the Author

John J. Davis, Ph.D.

I have been coaching runners and writing about training and injuries for over 12 years. I've helped complete novices, NXN-qualifying high schoolers, elite-field competitors at major marathons, and runners everywhere in between. I have a Ph.D. in Human Performance, and I do scientific research focused on the biomechanics of overuse injuries in runners. My new book on marathon training, Marathon Excellence for Everyone, is now available on Amazon!

12 thoughts on “Cadence lock: Why GPS watches have a hard time measuring heart rate during running”

  1. Hi John, great article.
    Just found your blog on a search for "cadence lock" and it has a bookmark now 🙂
    I would love to see an article with your thoughts on heart rate training, and why it might not be as good as generally advertised in running forums.
    Thanks!

    Reply
  2. Great article and that explains why I see erratic heart rate from my watch. Is there any correlation with low or high temperatures during the run that could impact the heart rate leading to Cadence lock ?

    Reply
    • I suspect both high and low temperatures could affect heart rate accuracy, in two ways. First, I did find one paper (https://pubmed.ncbi.nlm.nih.gov/20703690/) that claims skin bloodflow, which changes as a function of temperature, can affect the accuracy of wrist HR sensors. Second, when it's really hot, you'll be sweating, and that could interfere with the sensor as well!

      Reply
  3. John, many thanks, you saved me a trip to the doctor (for real). Today I analyzed my past races data and I observed this strange behavior in all of them... I knew that the wrist HR sensor was not precise... but why only in races? Why always the same pattern?

    You answer everything 🙂 and super cool analysis with the fourier transform!

    Great article!

    Reply
    • Hmm only in races...that's interesting! I wonder if you reach pace / heart rate / cadence combinations late in a race that you only rarely get to in training, and it's at that exact range where your heart rate gets close enough to your cadence that the watch gets confused? Or maybe it's secondary to something else, like heavy sweating, that occurs more when you race?

      Reply
      • I double checked 🙂

        In intervals/series, the effect was also present in many cases, but it is much harder to identify as something unusual since there is no clear "jump."

        On the other hand, during training at a constant speed (e.g., long runs), the heart rate was not high enough to cause confusion.

        That's why I only notice it very clearly in races

        Reply
  4. great article, thanks! i see you wrote this in 2021, so I wonder if nowadays, 3y later, we have seen optical sensors being able to improve on this? e.g., garmin keeps releasing updated optical sensors for wrist watches, like the garmin fenix 7 pro (and garmin 8 which has the same sensor), besides some algorithm improvements

    in short: how close are top optical sensors from chest HRM nowadays ? can we expect them to be close enough anytime soon? or not until they change their technology dramatically?

    ps: i still think that for amateur runners that kinda doesn't matter, we don't need 100% reliable HR readings - and most don't even know what to do with them, other than see beautiful charts.

    Reply
    • I do suspect that watches are better today, though I still get a lot of emails from people telling me they are experiencing cadence lock with new devices! I think it really depends on the person: how easily your personal HR can get picked up by your watch, and how high your HR is vs. your cadence at different speeds. In my case, for example, I virtually never get cadence lock because my max HR is fairly low and my cadence is fairly high, so the two signals are pretty safely "away" from one another in a frequency sense. But a friend of mine has a max HR close to 180 and a cadence during workouts close to 180 and so he gets cadence lock all the time! In terms of devices, I think the big improvements are hardware-based: with a given sensor, you can only squeeze out so much performance with a marginally better HR detection algorithm. But there's more room for improvement with newer, better sensors. I actually agree with you re: value of heart rate: even with 100% perfect heart rate data, the real problem is that the metrics we care about, like the first lactate threshold and steady-state max, vary from runner to runner even as a percentage of HRmax!

      Reply
      • I'm seeing the same problem when starting running session on treadmill. I have coros HRM strap on upper arm, I see heart rate on Zwift matching my pace at 170 and Garmin 255 watch showing 95 bpm. Now, I stop and wait for HRM on Zwift from Coros HRM strap to come down to 95 bpm, start again, and all is OK with what I see on Zwift ... at 105 bpm as I speed up a bit. I'm not a "star" athlete but do follow my activities on Zwift and Training Peaks and the HRM of 170 bpm upsets the accuracy of their training plan comments by telling them that I'm working much harder than I am. Coros HRM is almost always better than just a watch when running outside, but appears to have some problems on treadmill. I guess I'll need to use chest strap again or see if my newer, smaller watch that fits my wrist better is OK for treadmill ?

        Reply
  5. It's 2025 and it's still a great article!

    What exactly causes the noise in optical intensity? I mean, at first movement shouldn't mess with light intensity levels detection

    Is it the blood moving back and forth with the acceleration? Loss of registration as the watch shakes in the wrist?

    Thanks for all!

    Reply
    • A big part of it, I think, is the fact that the watch isn't perfectly coupled to the wrist: the skin moves underneath the sensor, and depending on how loose the watch is, the watch itself can bounce around!

      Reply

Leave a Comment

Check out my new book on marathon training!