Zirv Logo

2026-08-12 · 5 min read

Optical heart rate on the wrist: what it measures well and where it struggles

A watch reads your heart rate by shining light into your wrist, not by listening to your heart. That's a clever trick, and it's also exactly why it can be so good on an easy run and so unreliable mid-set. Understanding what the sensor is actually doing explains both halves of that.

What the sensor is actually measuring

Wrist-based heart rate uses photoplethysmography, PPG for short: an LED shines light (usually green) into the skin, and a photodiode next to it measures how much bounces back. Blood absorbs more light than surrounding tissue, so every heartbeat produces a small dip in the reflected signal as a fresh pulse of blood passes under the sensor. Count the dips, and you have a heart rate, without a single wire touching your chest.

It's an indirect measurement built entirely on getting a clean, stable read of blood flow at one specific spot on your wrist. Anything that disturbs that spot, motion, pressure, or a change in blood flow that has nothing to do with your heart rate, shows up as noise the sensor has to filter out or guess around.

Where it holds up well

For steady running, cycling, walking, or anything where your wrist stays relatively still and blood flow stays consistent, optical HR is generally solid. The arm swings but doesn't clench, skin contact stays steady, and the signal has time to settle into a clean, repeating pattern the sensor can lock onto. This is the case the technology was built for, and it's the majority of what a wrist sensor sees across a week of training.

Where it struggles

Two things break the clean signal the sensor depends on: motion and grip.

Motion artifacts show up whenever the wrist moves in ways that aren't the steady swing of a run, jump rope, fast direction changes, anything with sudden acceleration. The sensor can mistake motion noise for a pulse, or lose the real one in it.

Grip changes the picture differently. Gripping a barbell, a pull-up bar, or a dumbbell tightens the muscles and tendons around the wrist and can change local blood flow right where the sensor sits, sometimes enough to blunt or distort the signal for the length of the set. This is the well-known reason optical wrist sensors are considered less dependable specifically during resistance training compared to steady cardio, not because the underlying PPG technology is worse, but because lifting produces exactly the two conditions, tension and irregular motion, that make a clean optical read harder to get.

Fit and skin contact matter too: a loose band, a sensor riding too low or high on the wrist, or a tattoo over the sensor site can all weaken the signal the LED gets back, independent of what you're doing.

How Zirv treats the wrist reading as one source, not the only one

None of this is solved by writing better filtering code after the fact, it's solved by not depending on a single feed when a better one might be available. During a workout, Zirv arbitrates between three possible heart rate sources rather than trusting the first one that shows up: a live stream pushed straight from the Watch app over its session connection, the same watch readings synced through HealthKit as a slower fallback path, and a paired Bluetooth chest strap if you've connected one in Settings. Only one source is ever locked in and forwarded to your session at a time, so a slower fallback catching up never double-counts a beat the fast path already recorded.

The live watch stream wins whenever it's flowing, since it's the same wrist sensor as the HealthKit path but without the sync lag. If a Bluetooth strap is connected and the watch hasn't produced a reading yet, Zirv waits about eight seconds to give the watch a chance before falling back to the strap, rather than jumping to the strap the instant it has data. Every reading, from any source, also passes through a debounce step before being recorded: it's forwarded the first time, or once at least 500 milliseconds have passed since the last one, or immediately if the value has moved by 5 beats per minute or more, so a burst of near-identical samples doesn't flood your session log while a genuine spike still comes through right away. What actually displays on screen is smoothed further with an exponential moving average, weighting each new reading at 30% against the running average, the same smoothing weight the tracking engine uses for heart rate everywhere else in the app, so the number on screen doesn't visibly jump between two nearby raw readings.

None of that fixes a genuinely bad optical reading. It just means Zirv doesn't have to depend on one.

When a strap is worth pairing

If your training is mostly steady cardio, the watch on your wrist is doing exactly what it's built for and there's little reason to add a strap. If a meaningful chunk of your week is heavy grip work, think loaded carries, deadlifts, or anything you hang onto hard for the whole set, a chest strap sidesteps the wrist-tension problem entirely, since it measures electrical activity at the chest rather than light absorption at a wrist that's currently gripping something. Zirv supports pairing a standard Bluetooth heart rate strap from Settings, and once one is remembered, it's available as a fallback source the next time the watch data doesn't show up.

Reading heart rate zones off a number that's already unreliable at the source doesn't fix itself downstream, however good the zone math is. The fix is getting a cleaner reading in the first place, and knowing when your training makes that harder is most of the way there.

The takeaway

Optical heart rate reads pulses in reflected light, and that works cleanly for steady, low-grip effort like running or cycling. Grip and sudden motion, the two conditions common in lifting, are exactly what makes that signal harder to read, not a flaw specific to any one watch. Rather than trust a single wrist feed no matter what, Zirv arbitrates between the watch's live stream, a HealthKit fallback, and an optional Bluetooth strap, debounces and smooths whatever comes through, and lets you pair a strap for the sessions where grip makes the wrist the wrong place to measure from.

Zirv Logo