
How Pulsyn Calculates Resting Heart Rate (and Why Your Current Number Is Probably Wrong)
TL;DR
Most wearables report resting heart rate as the lowest heart rate they can find, usually during sleep. The clinical definition is different: it is measured while awake, lying down, and completely still. Pulsyn uses the ring's accelerometer to find motionless awake windows and reports the lowest stable rate from those. The result is a number that actually means something.

The 12-beat gap
If you wear two wearables, you will get two resting heart rate numbers. The gap is often 10 to 15 beats per minute. I have seen 20. The gap is not because one sensor is broken. It is because the two devices are measuring different things and calling them the same name.
Resting heart rate is supposed to be the number of times your heart beats per minute while you are at complete rest. The clinical definition is specific: awake, supine, in a quiet room, after five to ten minutes of no activity. It is not your heart rate while you are asleep. It is not your heart rate while you are sitting at a desk. It is not the lowest number your watch happened to catch during a day.
The wearable industry has decided to ignore this definition. It is easier to algorithmically pluck the lowest heart rate from a sleep session or a 24-hour window than to find a true resting state. So that is what most devices do. And because they use different windows, different motion thresholds, and different sleep stages, they report different numbers.
What the big three actually do
I have read the public documentation for Oura, Fitbit, and Apple Watch. The definitions are inconsistent.
Oura reports resting heart rate as the lowest heart rate during sleep. I do not know the exact window. The company does not publish it. Fitbit reports the lowest heart rate during a day, averaged over a window that I also cannot find in the public documentation. Apple Watch reports a resting heart rate number, but the algorithm is not published at all. I asked a friend who works there. He said even the internal documentation is vague.
This is the core problem. Resting heart rate is a clinical metric with a clinical definition. The wearable industry treats it as a statistical minimum. The result is a number that moves up and down based on how well you slept, what time you woke up, and whether the algorithm decided to include a brief dip during slow-wave sleep.
That number is not useless. It is just not resting heart rate.
Why sleep heart rate is the wrong baseline
Your heart rate during sleep is not the same as your resting heart rate. During deep sleep, your heart rate drops because your parasympathetic nervous system is dominant. During REM sleep, your heart rate spikes because your brain is active and your sympathetic nervous system is firing. The average sleep heart rate is a mix of these two states. Calling the lowest point "resting" is like calling your lowest speed while driving "idling." It is not the same measurement.
The clinical definition requires you to be awake. This is not arbitrary. Awake rest and sleep rest produce different autonomic profiles. Your blood pressure, cortisol, and heart rate variability are all different. A sleep heart rate of 48 might correspond to an awake resting heart rate of 58. The difference is 10 beats per minute. That difference is the difference between "excellent cardiovascular fitness" and "average." If you train based on the wrong number, you train based on fiction.
Basal heart rate: the even stricter definition
There is a related term that most people have never heard: basal heart rate. This is your heart rate measured immediately upon waking, before you sit up, before you check your phone, before your sympathetic nervous system kicks in. It is typically 3 to 8 beats per minute lower than your clinical resting heart rate.
Some athletes track basal heart rate because it is a sensitive indicator of overtraining. A basal heart rate that is 5 beats per minute higher than your usual baseline can indicate that your body is fighting inflammation or infection. It is a powerful signal.
The problem is that basal heart rate is almost impossible to measure with a consumer wearable. It requires you to wake up naturally, without an alarm, and measure before moving. A ring can measure it if you wear it while sleeping and it captures the transition from sleep to wake. But if you roll over, reach for your phone, or even open your eyes too fast, the number is gone.
Pulsyn does not report basal heart rate. We are not confident that we can isolate the exact moment between sleep and wake before motion begins. The ring is good, but it is not that good. I think reporting basal heart rate without clinical supervision would be misleading.
Resting heart rate vs. heart rate variability: two different stories
People confuse resting heart rate with heart rate variability. They are not the same thing. Resting heart rate is the speed of your heart. Heart rate variability is the variation in time between beats. One is about speed. The other is about rhythm irregularity.
You can have a low resting heart rate and low HRV. That is a warning sign. It means your heart is beating slowly but your autonomic nervous system is rigid. It is the profile of an overtrained athlete or a chronically stressed person. You can also have a high resting heart rate and high HRV. That is common in young, healthy people whose hearts speed up and slow down easily.
Wearables that conflate these two metrics into a single "recovery" score are doing you a disservice. The score is not a medical measurement. It is a marketing invention. Pulsyn reports both numbers separately. We do not blend them into a score because the blend removes information. If you want to know your recovery, look at both trends. If one is rising and the other is falling, that is the story. A single number would hide it.
Why the finger is better than the wrist for this measurement
The ring form factor is not just a fashion choice. The finger has a denser capillary bed than the wrist. The photoplethysmography signal is stronger. The motion artifacts are different. The wrist moves more. The finger moves less.
For resting heart rate, the finger is ideal. The signal is strong enough to resolve beat-to-beat intervals even when the heart rate is low. The wrist struggles below 50 beats per minute. The finger does not.
The downside is that the finger is more sensitive to temperature. Cold hands reduce blood flow. The PPG signal weakens. In our testing, we see signal quality drop in users who have cold hands in the morning. We are working on a temperature compensation algorithm that adjusts the LED intensity based on skin temperature. It is not ready yet.
The sitting problem
Most people think they are resting when they are sitting. They are not. Sitting is a postural state. Your heart rate while sitting is typically 5 to 10 beats per minute higher than your heart rate while lying down. This is the orthostatic effect. Your body has to fight gravity to keep blood in your head. That fight requires sympathetic tone. That tone raises your heart rate.
If your wearable reports a resting heart rate measured while you are sitting at a desk, it is not your resting heart rate. It is your sitting heart rate. The difference matters. In standard medical physiology, the transition from supine to sitting increases heart rate by an average of 7 beats per minute. If your device does not account for posture, it is not measuring the clinical baseline.
Pulsyn does not know your posture. A ring on your finger cannot tell if you are lying down or sitting. So we do not try to guess. We only report a number when the motion data suggests you are completely still. If you are lying in bed reading, that might count. If you are sitting at a desk, it probably will not. The threshold is conservative.

How Pulsyn finds true rest
The Pulsyn Rune 1 is a ring. It has no screen. It has a photoplethysmography sensor and a 3-axis accelerometer. Those two sensors are the core of the resting heart rate measurement.
The accelerometer detects motion. The PPG detects pulse. The combination means we can find periods when you are still and awake.
Our current approach looks for motionless windows during the day. Not sleep. The ring checks for near-zero accelerometer activity, stable PPG signal quality, and a time window that falls outside your typical sleep hours. If it finds a ten-minute window with no motion, it takes the lowest stable heart rate from that window. If it does not find one, it does not report a number.
This is the honest approach. It is also the harder approach. A wristwatch can guess that you are resting because you are not raising your wrist. A ring cannot make that guess. It has to measure motion directly.
I am not sure this is the perfect algorithm. We are still testing the motion thresholds. Ten minutes might be too long. Five minutes might be enough. The ring might miss windows if you fidget. I would rather report nothing than report a number that is really your heart rate while you are scrolling Instagram.
Why the industry uses the wrong definition
The short answer is that it is easier. Finding a true resting state requires continuous motion sensing, time-of-day awareness, and a willingness to return "no data" when the conditions are not met. Plucking the lowest heart rate from a sleep session requires none of that.
There is also a marketing incentive. Lower numbers look better. A resting heart rate of 48 sounds healthier than 58. If your device reports the lowest dip during deep sleep, it will almost always report a lower number than a device that measures you while awake. The consumer thinks they are fitter. The company thinks they are delivering value.
I think this is wrong. The number should mean something. If it is 48 because you were in slow-wave sleep at 3 AM, that is not a health metric. It is a sleep metric. Conflating the two makes both less useful.
How Pulsyn reports the number
The Pulsyn app shows resting heart rate on the main dashboard. The number is the lowest stable heart rate from a motionless awake window. If the ring does not find one, the dashboard shows a dash. No number. No guess.
I think this is better than a wrong number. I also think it is worse for user retention. People like seeing a number every day. A dash feels like a failure. I am okay with that. The alternative is a fiction.
Below the number, the app shows a 7-day trend. The trend is the point. The daily number is a sample. If you get a sample every two days, the trend is still valid. If you get a wrong sample every day, the trend is a lie.
The honest limits
I should be honest about what Pulsyn cannot do. The ring does not know if you are lying down or sitting. It does not know if you are fasting or caffeinated. It does not know if you are anxious or relaxed. The accelerometer can detect motion, but it cannot detect intent. If you are lying still and stressed, your heart rate will be higher than if you are lying still and calm. Pulsyn will report the higher number. That is correct. That is your resting heart rate in that moment.
The clinical definition of resting heart rate assumes you are calm. A wearable cannot measure calm. It can measure stillness. Stillness is the best proxy we have. It is not perfect.
I am also not sure that ten minutes is the right window. The clinical standard is five to ten minutes of supine rest. We are measuring stillness, not supine rest. A ten-minute window might be too conservative. A five-minute window might catch too much noise. We are testing this now. I will update this post when we have more data.
What we are still figuring out
The current motion threshold uses accelerometer variance. If the variance is below a threshold for ten minutes, the window qualifies. The threshold is conservative. I think it is too conservative. We are seeing users get a number only three or four days a week. I would like that to be six or seven.
We are also testing whether the first ten minutes after the alarm is a good window. Most people wake up, lie still for a few minutes, then get up. If we catch that window, we might get a consistent measurement every day. The problem is that some people roll over immediately. Some people check their phones. Some people have kids who jump on them. The window is not reliable.
I do not know the right answer yet. I think the honest approach is to report the number when we are confident and skip it when we are not. If that means some users see a dash three days a week, so be it. The alternative is a number that is not resting heart rate.
What the number actually means
Resting heart rate is a proxy for cardiovascular efficiency. A lower number generally means your heart pumps more blood per beat. It is correlated with fitness. It is also correlated with stress, hydration, illness, and alcohol consumption.
The key is consistency. If you measure it the same way every day, the trend matters. A drop of 5 beats per minute over three months probably means you are getting fitter. A spike of 10 beats per minute on a single day probably means you are sick, hungover, or overtrained.
I pay attention to three patterns in my own data. First, the weekly average. Second, the difference between my morning and evening readings. Third, the consistency of the measurement window. If the weekly average is stable but the morning readings are creeping up, I know something is wrong before I feel symptoms.
But the trend only matters if the baseline is consistent. That is the whole point of the Pulsyn approach. We do not give you the lowest number we can find. We give you the number from the most honest window we can find. The result is a metric that trends in a way that actually means something.
About the author
James Hoffmann is the founder of Pulsyn. He is currently building the Rune 1 smart ring in Phoenix, Arizona. He has been testing wearable accuracy against clinical standards for two years.
References
- Guyton, A. C., & Hall, J. E. (2021). Textbook of Medical Physiology (14th ed.). Elsevier. Chapter 18: Nervous Regulation of the Circulation.
- American Heart Association. (2023). All About Heart Rate (Pulse). https://www.heart.org/en/health-topics/high-blood-pressure/the-facts-about-high-blood-pressure



