Fingertip photoplethysmography (PPG) uses the phone's flash as a light source and the camera as a light detector. Every heartbeat pushes a little more blood into the fingertip, the tissue absorbs a little more light, and the frame gets a fraction darker. Read that flicker over 20 seconds and you have heart rate; look at the spacing between beats and you have a usable, short-term estimate of heart rate variability — good enough to track yourself, not a medical instrument.
Why I put a camera reading in a breathing app
iKima started as an Apple Watch app. The wrist is the obvious place to read a heartbeat during breathing practice. But most of the people who told me they needed something like this did not own an Apple Watch, and I did not want the answer to be "buy a $400 accessory first". The iPhone already has a light and a camera sitting next to each other. That is, physically, a pulse oximeter without the clip.
So the question became an engineering one: how much of what Apple Watch tells you can the phone tell you, honestly, in the 20 seconds someone is willing to hold still before a breathing session?
What the sensor actually sees
PPG is an old idea1. Shine light into tissue, measure how much comes back. Blood absorbs more light than the tissue around it, and the volume of blood in the small vessels of your fingertip rises and falls with every heartbeat. The change in light transmission is tiny — but it is periodic, and periodic signals are easy to pull out of noise.
On an iPhone the flash is the light source and the rear camera is the detector. iKima averages the red channel of each video frame — red penetrates skin best — and gets a waveform that rises and falls with your pulse, roughly 30 samples per second. Peak detection on that waveform gives beat times. Sixty divided by the average gap between beats is your heart rate.
That is the whole trick. There is no machine learning guessing your pulse, no cloud service. It is a light meter and arithmetic, and it runs entirely on the phone.
Why 20 seconds
Heart rate comes from timing beats. At a resting 60–70 beats per minute, 20 seconds holds about 20 beats.
HRV is a harder ask. The standard short-term recording is five minutes3. Shorter recordings are still an open research question: the norms review by Shaffer and Ginsberg lists studies in which RMSSD from recordings as short as 30 seconds approximated the five-minute value in healthy people, but it also warns that many of those studies had serious methodological limitations3. iKima's 20-second reading sits at the very short end of what has been studied, so treat it as a rough personal trend rather than a precise HRV value, and compare only readings taken the same way. I chose 20 seconds on purpose: a measurement people actually take every day beats a "better" one they skip.
How accurate is phone PPG, really
Better than I expected when I started, with conditions. The study I keep coming back to is Plews and colleagues, 20172. They measured 29 healthy people at rest for five minutes — once with guided breathing, once with normal breathing — simultaneously with a smartphone camera, a Polar H7 chest strap and a clinical ECG, and compared RMSSD, the HRV metric iKima uses too. Across the group, the phone's difference from ECG was rated "trivial" and the correlation with ECG was almost perfect (R = 1.00, 95% CI 0.99–1.00). Two limits: those were five-minute recordings, not 20 seconds, and the phones were 2017 phones.
That result is for a still finger at rest, which is the only condition iKima asks you to measure in. At rest, with a still finger, phone PPG looks like a reasonable way to read short-term HRV (in healthy adults, over five minutes).
Where it breaks
- Movement. A finger that shifts a millimetre changes the light path more than a heartbeat does. If the beat intervals iKima finds are too scattered to trust, it tells you the signal was unstable and asks for another try instead of showing a number; readings it does keep are tagged good or fair.
- Cold hands. Constricted vessels mean less blood volume change and a weaker signal. Warm your hands first; it genuinely helps.
- Pressing too hard. Enough pressure squeezes the capillaries flat and the pulse disappears. Rest the finger, don't push.
- Very irregular rhythms. Peak detection assumes beats are roughly periodic. If your heart rhythm is not, the number is not meaningful, and no consumer app should pretend otherwise.
Phone versus Apple Watch
Apple Watch uses the same physics — green and infrared LEDs on the back of the case, photodiodes reading the reflection — but it has two advantages: it is strapped on, so motion is controlled, and it can read continuously through a whole session instead of only before it. That is why iKima on Apple Watch shows heart rate live while you breathe, and iKima on the phone shows a before-and-after comparison instead.
Neither is "the real one". Apple Watch is the better instrument for continuous data; the phone is the instrument you already have in your pocket. iKima treats both as first-class, and the app is the same either way.
How iKima uses this
Before a session: rest a fingertip on the rear camera, the flash comes on, 20 seconds later you see heart rate and HRV. The numbers stay on your phone. After the session you get the same reading again, so the comparison is against yourself, ten minutes apart — the one comparison that is always fair.
What I want you to take from this
The camera reading is not a gimmick and it is not a diagnosis. It is a fair, repeatable way to see what your nervous system is doing right now, on hardware you already own. Use it the way you would use a bathroom scale: same conditions, same time of day, watch the trend and ignore the single number.
If you want the deeper story on what that HRV number means, that is the next article. If you want to know why iKima then asks you to exhale longer than you inhale, that is the one after.
Questions I get asked
Does the flash hurt or heat the finger?
The torch runs at reduced power for 20 seconds. Some phones get slightly warm on the lens; it is not hot, and it is the same light you use to find your keys. If it bothers you, the reading works on a fingertip resting lightly, so you never need to press against the glass.
Which finger, and which hand?
Index or middle finger of either hand. Pick whichever lets you hold the phone still without straining — stillness matters far more than which finger.
Can it measure blood oxygen too?
No. Pulse oximeters use two wavelengths (red and infrared) and compare them; a phone camera only has the white flash and visible-light channels. iKima reads pulse timing only, and does not pretend otherwise.
Why is my camera reading different from my Apple Watch?
Different sensor, different body site, different window, often a different posture. Neither is 'more true'. Compare camera readings with camera readings, and Apple Watch with Apple Watch.
References
- Allen J. Photoplethysmography and its application in clinical physiological measurement. Physiol Meas. 2007;28(3):R1–R39.
- Plews DJ, Scott B, Altini M, Wood M, Kilding AE, Laursen PB. Comparison of heart-rate-variability recording with smartphone photoplethysmography, Polar H7 chest strap, and electrocardiography. Int J Sports Physiol Perform. 2017;12(10):1324–1328.
- Shaffer F, Ginsberg JP. An overview of heart rate variability metrics and norms. Front Public Health. 2017;5:258.