HRV Biofeedback

Connect Record Clear Find rate
Full Feedback Cue
Fullscreen
Not connected
Heart rate
--bpm
Cycle amplitude
--ms
-- bpm
RMSSD (60s)
--ms
Session
0:00

Refine around the peak?

Breathing settings
5.0 brpm
40% in
Settings

Signal pipeline

Measurement filters clean the beats and feed the metrics & score. Analysis filters are visual overlays only — they never change the number. Toggle a filter's show to draw it; dropped beats are marked on the graph.

Sweep

5 rates
sec
sec
×
rounds

Total run . Slower rates fit fewer breaths per step, so a longer measure window gives steadier medians. Rates must be within the breathing-rate slider range (3.0–7.0 brpm).

Audio

18%
G3 → A3 (M2)
50%
100%
Demo & dev tools

DEMO baseline 60 bpm · RSA amp ±4.0 bpm · simulated resonance @ 5.5 brpm

Keyboard (active in demo mode)

All keys are unshifted on US and Nordic keyboard layouts. The simulated HR stream pushes into the same logs the real strap would feed, so every metric and the chart update live as you tweak.

Auto-reload

Add ?dev to the URL — e.g. http://localhost:8000/?dev — and the page polls itself with HEAD requests once per second, reloading on Last-Modified or ETag change. Off by default so it does not drop the BLE connection mid-session.

About — what this is and how to use it

Background

Heart rate is not constant — it speeds up slightly when you inhale and slows when you exhale, a pattern called respiratory sinus arrhythmia (RSA); RSA is the breathing-driven part of heart-rate variability (HRV), the overall variation in the time between consecutive heartbeats. The size of that oscillation reflects how strongly the vagus nerve — the main parasympathetic (rest-and-recover) output to the heart — is modulating beat-to-beat timing. Bigger swing means a stronger vagal brake. RSA amplitude is one of the cleanest non-invasive proxies for parasympathetic tone you can measure from outside the body.

Strengthening that brake is what the practice trains. The autonomic nervous system has two opposing branches — the sympathetic, which drives arousal (the active, fight-or-flight side that stress and hard training switch on), and the parasympathetic, which settles the body, carried mostly by the vagus. Slow breathing engages the vagus, damping the active branch and easing the body toward rest. At a personal rate — usually 5 to 7 brpm — the breath also falls into step with the baroreflex (which adjusts heart rate to blood-pressure swings) and RSA reaches resonance: the heart-rate oscillation grows large and smooth, breath, heart, and blood pressure rising and falling together — the effect Lehrer, Vaschillo, and colleagues mapped in the early 2000s [1, 4]. The bigger that swing, the more vagal brake you are applying, so Cycle amplitude is the signal this tool exists to grow.

How it's measured

The chest strap is a single-lead ECG — two electrodes reading the heart's electrical signal off the skin. It isn't sensing blood flow or pulse; it watches for the R-peak, the sharp spike each time the ventricles fire, and timestamps it. What it reports per beat is the RR interval: the time from the previous R-peak to this one, in milliseconds. Crucially, an interval isn't known until the beat that closes it arrives — it's a stopwatch read at the finish line of each beat, never before. The stream is just a sequence of these finished lap times.

That stream is the whole signal. Heart rate isn't sensed directly — it's simply 60000 / RR — and RSA is nothing more than those intervals stretching and shrinking with the breath: shorter on the inhale, as the vagus eases off and the next beat comes sooner; longer on the exhale. Because one slow breath spans roughly ten beats, the beats themselves sample the breathing wave, enough points to trace the curve. The Cycle amplitude metric is the height of that wave — a sinusoid fitted at your breathing frequency through every beat in the window, which is what makes it precise and steady against drift rather than hostage to any single beat. It's reported in milliseconds of RR, not bpm, because at a low resting heart rate the bpm swing is compressed and understates a strong RSA — and a chest strap is essential, since the sharp R-peak fixes each beat to under a millisecond where an optical wrist pulse would smear exactly the signal you're chasing.

What it does

In the moment, resonance breathing engages the vagus to draw the body out of arousal and into rest — heart rate drops, HRV rises, the active branch quiets. That makes it a fast wind-down after late, high-intensity training, when arousal is still high near bedtime.

Over weeks, it trains the baroreflex itself: baseline HRV climbs, baroreflex gain increases, and the rested state grows easier to reach with less effort. The evidence is strongest for anxiety, hypertension, and stress regulation [1, 2]; sleep-onset benefits are mechanistically plausible — the same parasympathetic activation eases the body into sleep — and backed by smaller studies, though less firmly established.

The process

  1. Find your resonance frequency (one-time, ~10 min). Press Find rate (the tuning-fork button), lying down or seated — it automatically sweeps a range of breathing rates (default 6.5 → 4.5 brpm), discarding a 30-second settle and then measuring each rate for 90 seconds. The rate that produces the largest Cycle amplitude (the breath-locked heart-rate swing) is your resonance frequency. For most adults it lands between 5.5 and 6.5 brpm; the rates and timing are adjustable in Settings → Sweep.
  2. Practice daily at that frequency, 10 to 20 minutes. Breathe through the nose, exhale slightly longer than you inhale (the default here is 40% inhale, 60% exhale). Don't force volume — slow and shallow is fine; air hunger means you're trying too hard.
  3. Use it after late, high-intensity training. 10 to 15 minutes of resonance breathing closes the gap between post-exercise arousal and the calm sleep needs — the bottleneck the late-evening-exercise research [3] finds growing largest after 50.

Pointers

References
  1. Lehrer PM, Vaschillo E, Vaschillo B. Resonant frequency biofeedback training to increase cardiac variability: rationale and manual for training. Appl Psychophysiol Biofeedback. 2000;25(3):177–191.
  2. Goessl VC, Curtiss JE, Hofmann SG. The effect of heart rate variability biofeedback training on stress and anxiety: a meta-analysis. Psychol Med. 2017;47(15):2578–2586.
  3. Stutz J, Eiholzer R, Spengler CM. Effects of evening exercise on sleep in healthy participants: a systematic review and meta-analysis. Sports Med. 2019;49(2):269–287.
  4. Lehrer P, Gevirtz R. Heart rate variability biofeedback: how and why does it work? Front Psychol. 2014;5:756.
Methodology — how this configuration computes your rate
text size 22px