In this guide
How Optical Blood-Flow Sensing Works: Photoplethysmography, Perfusion Index and the Posture Effect
On October 22, 2026, Deepinder Goyal announced November 1 pre-orders for Temple, a head-worn wearable that tracks cerebral blood flow with optical sensors and scores strain on a 1–250 "Entropy" scale — explicitly studying how gravity and posture change blood supply to the brain. This guide explains the physics underneath that headline: how shining light into skin produces a blood-flow signal, what the perfusion index actually measures, and why your posture changes the reading. If you are building the companion project — Temple-Inspired Cerebral Blood-Flow Monitor — read this first; it is the theory your report's background chapter needs.
The Temple moment: why head blood flow became interesting
Wearables spent fifteen years on the wrist: step counts, heart rate, sleep stages. Temple moved the sensor to the head and asked a different question — not "how fast is the heart beating" but "how is blood delivery to the head changing right now, and what does posture do to it?" That question is physiologically real. When you stand up after lying down, gravity redistributes your blood toward your legs; sensors at head level see the change within seconds. Temple's bet is that continuous head perfusion data, scored over days, says something useful about strain and recovery.
For a student, the interesting part is not Temple's proprietary scoring — it is the sensing principle, which is public, well-understood, and buildable for a few hundred rupees: photoplethysmography, or PPG.
How photoplethysmography actually works
PPG is embarrassingly simple in concept. An LED shines light into the skin. A photodiode next to it measures how much light comes back. Blood absorbs light; with every heartbeat, a pulse of blood surges through the tiny vessels under the sensor, absorption rises briefly, and the reflected light dips. Plot the photodiode output over time and you see the pulse waveform — the photoplethysmogram.
Two geometries exist. Transmissive PPG puts the LED on one side of tissue and the detector on the other (the classic fingertip clip of a hospital pulse oximeter). Reflective PPG — what every wrist band and every head-worn device uses — puts LED and detector side by side on the same surface and reads the light scattered back out of the tissue. Reflective is the only option on the head, and it is fussier: the signal depends on contact pressure, ambient light leaking under the sensor edge, and motion.
The raw signal has two parts, and the distinction matters for everything that follows:
- DC component — the large, slowly varying baseline: light reflected by skin, bone, venous blood and non-pulsing tissue.
- AC component — the small ripple riding on top, typically 1–2% of the total: the arterial pulse.
The perfusion index (PI) is the ratio AC/DC, usually written as a percentage. It answers "what fraction of the detected light is being modulated by pulsing arterial blood?" More blood pulsing through the illuminated volume — or the same blood in a better-coupled sensor — raises the index.
Why two colours of light
Practical PPG sensors like the MAX30102 carry two LEDs: red (~660 nm) and infrared (~880 nm). The reason is oxygen. Oxygenated haemoglobin and deoxygenated haemoglobin absorb red and infrared light differently — oxygenated blood absorbs more infrared, deoxygenated more red. By measuring the AC/DC ratio at both wavelengths and taking the "ratio of ratios" R = (AC_red / DC_red) / (AC_ir / DC_ir), the sensor derives blood oxygen saturation (SpO2) from an empirical calibration curve. That is the entire trick behind every fingertip oximeter and every SpO2-reading smartwatch.
For a perfusion project, the two channels serve a second purpose: cross-checking. If the red and IR perfusion indices move together, the change is probably physiological; if they diverge wildly, suspect motion or a light leak.
Perfusion index: the number that moves with posture
Here is the number at the centre of the posture experiment. Perfusion index is computed per time window — say, 5 seconds of samples:
- Take the window's samples and find the DC baseline (the window mean, or a slow low-pass filter output).
- Find the AC amplitude (peak-to-trough of the pulse ripple, averaged over the beats in the window).
- PI = AC / DC × 100%.
A typical resting value at the temple might be a few percent; the absolute number depends on skin, pressure and LED current, which is why honest projects never compare absolute PI across people or sessions. What you compare is change against the session's own baseline: seated PI vs standing PI vs supine PI, measured minutes apart on the same head with the same sensor pressure.
Why posture changes the reading
Two mechanisms, both plain physics and physiology:
The hydrostatic column. Blood has weight. When you are upright, the column of blood between your heart and your head is roughly 30–40 cm tall, and gravity subtracts pressure at the top of the column. Lie down and the column disappears — head-level perfusion pressure rises. Tilt head-down and it rises further. A head PPG sensor watches this happen in real time: supine readings run higher than standing ones, all else equal.
The baroreflex. Your body does not passively accept this. Pressure sensors in the neck detect the change and adjust heart rate and vessel tone within seconds — which is exactly why you need settle windows: the first 10–15 seconds after a posture change show the transition, not the new steady state. Any protocol that samples immediately after moving is measuring the reflex, not the posture.
This is also why Temple's research angle — gravity and posture vs brain blood supply — is a real question and not marketing. The honest student version measures the accessible proxy (skin perfusion at the head) while stating clearly that it is a proxy.
Why the head is harder than the wrist
If PPG is so simple, why is head sensing rare? Four reasons, each a design constraint for your build:
- Motion. The head moves constantly — talking, nodding, chewing all modulate contact pressure. The wrist is comparatively still. Motion artifact is the dominant error source, full stop.
- Contact pressure. Too loose and ambient light leaks in; too tight and you compress the very vessels you are measuring. A foam pressure pad behind the sensor module is the cheapest fix and the most important mechanical part of the build.
- Tissue optics vary. Skin tone, hairline position and subcutaneous fat change how much light returns. This is why calibration is per-session and comparisons are relative, never absolute.
- Real estate. A headband has room for small modules only, and two PPG modules share one fixed I2C address (0x57 on the MAX30102) — which is why the companion build puts each sensor on its own hardware I2C bus of the ESP32.
Building it honestly: the student pipeline
A defensible head-PPG instrument has five stages, and each one exists to protect the honesty of the number:
- Sense — dual MAX30102 modules sampling red + IR at ~100 Hz (the chip supports up to 3200 Hz; 100 Hz is plenty for a pulse waveform and kind to the battery).
- Tag — an MPU6050 IMU streams the head's gravity vector so every sample window carries a posture label.
- Flag — firmware computes acceleration variance per window; windows above the motion threshold are marked unusable and never enter the averages.
- Settle — a mandatory 15-second pause after every posture change, enforced in firmware, so the baroreflex transient is excluded.
- Stream and store — BLE to a phone dashboard for the live trace, plus CSV export of every session for the report.
The firmware core is a few dozen lines — sample, filter, divide, flag:
// per 5-second window, per sensor channel
float dc = mean(samples); // slow baseline
float ac = peak_to_trough(samples); // pulse ripple
float pi = (ac / dc) * 100.0; // perfusion index, %
if (imu_variance(window) > MOTION_TH) flag = UNUSABLE;
else record(pi, posture_label);
The full working version of this pipeline — dual-sensor sampling, IMU tagging, motion flagging, BLE dashboard and CSV export — is the Temple-inspired headband project, which pairs with this guide.
Reading the numbers without fooling yourself
Three rules separate an engineering instrument from a toy:
- Relative, never absolute. Report "supine PI rose 14% vs the seated baseline" — never millilitres per minute, never a clinical unit. The sensor cannot measure absolute flow.
- Label everything. Every plotted number carries its provenance: design target, datasheet value, or measured on the bench. An unlabeled number in a report is a viva question waiting to happen.
- Publish the ugly data. The flagged windows, the failed placements, the session where the band slipped — that is the most convincing part of the report, because it proves you know what your instrument cannot do.
FAQ
Is PPG the same technology hospitals use? The principle is identical — hospital fingertip oximeters are transmissive PPG. What differs is the site (finger vs head), the geometry (transmissive vs reflective) and the regulatory wrapping. The physics of light and blood does not change.
Can a student PPG headband measure actual brain blood flow? No. It measures perfusion in the skin and shallow tissue under the sensor — influenced by the same posture-driven pressure changes, but not the brain's circulation directly. Temple's cerebral measurement uses proprietary sensing; a student build must state the proxy boundary explicitly.
Why does my reading jump when I just move my head? Because you changed the sensor's contact pressure and the tissue geometry, not (only) your blood flow. That is motion artifact, and it is why settle windows and automatic motion flagging exist — the jump is expected, and the firmware is supposed to reject it.
Red or infrared — which channel should I trust for perfusion? Use both and compare. Infrared penetrates deeper and is usually the more stable perfusion channel; red is more sensitive to oxygenation changes. If they disagree sharply, suspect the sensor, not the physiology.
How long should a session be? Five postures at 60 seconds each plus settle time fits in under 10 minutes — long enough for stable averages, short enough that the subject does not fidget. Longer sessions add motion artifact faster than they add data.
Limitations
PPG measures light, not blood: everything downstream is inference, and the inference breaks when the optical coupling breaks. Head PPG is motion-sensitive by nature; no filtering fully rescues a sliding sensor. Perfusion index is relative — cross-person and cross-session absolute comparisons are meaningless without controlled calibration. Consumer PPG is not a medical device and its numbers are not diagnostic, a boundary this guide's companion project states on every page. Finally, posture-linked perfusion at the skin is a proxy for the deeper question Temple is asking about cerebral blood flow — an honest, useful proxy, but a proxy.