Know your vitals and understand your body.
Seen from above, nose at the top. Every channel is the voltage between its sensor and the reference at Fpz.
Dry sensors on the forehead above the outer eyebrows, over the frontal lobes. They hear frontal theta during effort or drowsiness, but also every blink and eye movement, because the eye is a small battery right next to them. A blink moves both the same way; looking sideways moves them in opposite directions.
Rubber sensors behind the ears, over the temporal lobes. They show alpha (8–13 Hz) when the eyes close, and a lot of jaw-muscle noise because the temporalis muscle sits right there. They need skin contact: hair or glasses arms lift them.
Light absorption by blood in the fingertip. Each beat gives a systolic peak and a dicrotic notch. Peak-to-peak intervals give heart rate; pulse amplitude shrinks when sympathetic tone constricts finger vessels.
Chest expansion. Heart rate speeds up on inhalation and slows on exhalation: respiratory sinus arrhythmia, a vagal signature that is strongest at rest and with slow, deep breaths.
Eccrine sweat gland activity, driven only by sympathetic nerves. A slow tonic level (SCL) plus fast phasic responses (SCRs) that start 1–3 s after a stimulus, peak within a few seconds, and recover slowly.
Peripheral skin temperature follows blood flow, so it falls slowly under sustained stress as vessels constrict. It changes over tens of seconds, which is why the scope autoscales to hundredths of a degree.
All signals are generated in your browser from simple physiological models sampled at 250 Hz. Amplitudes and time courses are realistic for teaching; they are not recordings and not for clinical use.
Put a fingertip over the phone's rear camera and flash, then press Start camera. On a laptop, try the simulated signal.
Your heart doesn't beat like a metronome. The vagus nerve (the "rest and digest" system) slows each beat a little and lets go with every breath, so the gap between beats keeps changing. RMSSD measures that beat-to-beat change. Stress, effort or excitement shift control to the "fight or flight" system, the gaps become more even, and RMSSD falls. Healthy values range widely with age and fitness (roughly 20–100 ms at rest), so the change from your own calm baseline says more than the number itself. Exercise, caffeine, talking and slow breathing all move it too. A learning tool, not a stress diagnosis.
| Source | Heart rate | Difference | Verdict |
|---|---|---|---|
| Fingertip camera | -- | reference | -- |
This uses the standard Bluetooth Heart Rate profile, so chest straps (HRM-Pro, Polar H10), Wahoo, Coros and Apple Watch through a broadcast app work the same way. Straps also send beat-to-beat (RR) intervals, which give live HRV; the Forerunner's broadcast usually sends heart rate only.
Camera PPG and quality scoring run entirely in this browser. Educational tool, not a medical device.
Load the export files from your devices to see your own heart, sleep, breathing, temperature and EEG data next to the physiology behind it. Files are read inside this browser tab. Nothing is uploaded or saved, and closing the tab clears it. The only exception is the optional Gemini analysis below, which sends a numeric summary once you add your own API key.
Reads heart rate samples, resting HR, HRV (SDNN), sleep, steps, breathing rate, blood oxygen and wrist temperature.
Reads resting HR, steps, sleep stages and respiration where present. FIT activity files are not supported yet. For live heart rate, use Broadcast Heart Rate on the watch and the Live pulse check tab.
Reads readiness, sleep duration and score, HRV (RMSSD), resting HR, temperature deviation, breathing rate and steps.
Reads band powers at TP9, AF7, AF8 and TP10, raw EEG, blinks, jaw clenches and heart rate.
Live streaming works only for devices that broadcast standard Bluetooth heart rate (Garmin, Polar, Wahoo, Coros, chest straps), in the Live pulse check tab. Oura and Muse don't broadcast to browsers, so load their exports here.
These are patterns in consumer-device data for learning, not medical advice. Devices estimate these values and each brand computes them differently.
Sends a summary of the numbers above (daily values, hourly heart rate, EEG band power), not your files, to Google's Gemini API with your own API key. The key is kept only in this browser. Get one free at Google AI Studio.
Grey band: your usual range (mean ± 1 SD over the 4 weeks before the latest 7 days).