PulseSensor Research (D)
Research
The science under the sensor
A working reading list for anyone pushing PPG past beats-per-minute — respiration, signal quality, and the algorithms that get you there.
The maker world is rich in mash-ups of tech and technique, and a little thin on the underlying science. This is our attempt to fix that. Not a product page, and not a claim about what PulseSensor measures — just the literature we read, the papers we hand to people who ask how would I actually do that, and open links to go read them yourself.
What this means for a PulseSensor · One, two, or three sensors · The bibliography
For creative, educational, and experimental use. PulseSensor is not a medical device and is not for medical use.
Advanced PPG signal processing
An annotated bibliography, with emphasis on extracting respiration from the PPG signal
The short version
The literature treats the PPG as a cardiovascular carrier signal modulated by respiration. Respiratory information appears as respiratory-induced amplitude variation (RIAV), intensity or baseline variation (RIIV), frequency variation through respiratory sinus arrhythmia (RIFV), pulse-width and morphology changes, slow baseline shifts, and site-dependent venous/arterial interactions.
The practical consequence for anyone building on an Arduino or ESP32: store raw waveforms and metadata, and support several parallel respiratory channels rather than one estimator. Pick a single method too early and you will spend months tuning a number that a second channel would have told you not to trust.
Where to start
Forty-seven papers is a lot. In this order, each one makes the next easier.
- Charlton et al. 2018Organizing framework for the entire field of ECG/PPG breathing-rate estimation.
- Pimentel et al. 2017Robust pulse-oximeter RR estimation with quality assessment and fusion.
- Karlen et al. 2013Classic multiparameter RIAV/RIIV/RIFV estimator.
- Dehkordi et al. 2018Instantaneous RR from multiple respiratory-induced PPG variations.
- Hartmann et al. 2019Measurement-site effects; directly informs sensor placement.
- Elgendi 2016; Orphanidou 2015; Jarchi et al. 2019Signal quality and motion contamination.
- Baker et al. 2021; Iqbal et al. 2022; Chin et al. 2024Modern algorithmic and machine-learning extensions.
- Charlton et al. 2022 and 2023Roadmap-level guidance for open wearable PPG systems.
The bibliography
Citations and commentary are the author's. The colour marks how far you can get without a library card.
Foundations
8Physiology, instrumentation, error sources, and where the wearable field is headed.
Allen J. Photoplethysmography and its application in clinical physiological measurement. Physiological Measurement. 2007;28(3):R1-R39. doi:10.1088/0967-3334/28/3/R01. PMID:17322588.
A classic entry point for PPG physiology and instrumentation. It remains useful because respiratory extraction depends on understanding the arterial, venous, autonomic, optical-coupling, and site-related sources of waveform variation.
Castaneda D, Esparza A, Ghamari M, Soltanpur C, Nazeran H. A review on wearable photoplethysmography sensors and their potential future applications in health care. International Journal of Biosensors & Bioelectronics. 2018;4(4):195-202. doi:10.15406/ijbsbe.2018.04.00125.
Broad wearable-PPG review emphasizing sensor configurations, motion artifact, measurement site, and applications. Useful for choosing between finger, ear, forehead, wrist, and reflectance/transmission modes.
Tamura T. Current progress of photoplethysmography and SpO2 for health monitoring. Biomedical Engineering Letters. 2019;9(1):21-36. doi:10.1007/s13534-019-00097-w. PMID:30956885.
Concise review of PPG and pulse-oximetry technology, including motion artifacts and health-monitoring applications. A useful bridge between clinical pulse oximetry and consumer/wearable PPG.
Fine J, Branan KL, Rodriguez AJ, Boonya-ananta T, Ajmal, Ramella-Roman JC, McShane MJ, Cote GL. Sources of Inaccuracy in Photoplethysmography for Continuous Cardiovascular Monitoring. Biosensors (Basel). 2021;11(4):126. doi:10.3390/bios11040126. PMID:33923469.
Highly relevant to experimental design. It catalogs sources of error including skin tone, motion, contact pressure, ambient light, sensor position, and physiology; all of these can corrupt respiratory-induced modulation.
Mejia-Mejia E, Budidha K, Abay TY, May JM, Kyriacou PA. Photoplethysmography Signal Processing and Synthesis. In: Kyriacou PA, Allen J, editors. Photoplethysmography: Technology, Signal Analysis and Applications. Academic Press; 2022.
Practical technical chapter on PPG preprocessing, time-domain analysis, frequency-domain analysis, machine learning, and synthetic signal generation. Valuable for moving from pulse counting to respiratory modulation extraction and simulator-driven testing.
Park J, Seok HS, Kim SS, Shin H. Photoplethysmogram Analysis and Applications: An Integrative Review. Frontiers in Physiology. 2022;12:808451. doi:10.3389/fphys.2021.808451. PMID:35222266.
Broad modern review of PPG analysis, physiology, and applications. It helps place respiratory extraction alongside HRV, blood pressure estimation, vascular assessment, autonomic analysis, and wearable sensing.
Charlton PH, Kyriacou PA, Mant J, Marozas V, Chowienczyk P, Alastruey J. Wearable Photoplethysmography for Cardiovascular Monitoring. Proceedings of the IEEE. 2022;110(3):355-381. doi:10.1109/JPROC.2022.3149785. PMID:35356509.
High-value review for wearable and low-cost PPG systems. Covers sensor design, preprocessing, signal quality, datasets, and clinical use; essential background for respiratory algorithms in wearable conditions.
Charlton PH, et al. The 2023 wearable photoplethysmography roadmap. Physiological Measurement. 2023;44(11):111001. doi:10.1088/1361-6579/acead2. PMID:37494945.
Strategic roadmap for wearable PPG research: sensor design, signal processing, clinical translation, datasets, bias, and open science. Strong reference for building an open Arduino/ESP32 PPG platform.
Respiratory modulation
7Why breathing shows up in a heartbeat signal at all.
Meredith DJ, Clifton D, Charlton PH, Brooks J, Pugh CW, Tarassenko L. Photoplethysmographic derivation of respiratory rate: a review of relevant physiology. Journal of Medical Engineering & Technology. 2012;36(1):1-7. doi:10.3109/03091902.2011.638965. PMID:22185462.
Foundational physiological review explaining how breathing modulates PPG through venous return, intrathoracic pressure, autonomic effects, and respiratory sinus arrhythmia. Justifies parallel extraction of RIIV, RIAV, and RIFV.
Nilsson LM. Respiration signals from photoplethysmography. Anesthesia & Analgesia. 2013;117(4):859-865. doi:10.1213/ANE.0b013e31828098b2. PMID:23449854.
Clinically oriented review from anesthesia and monitoring. Particularly relevant to OR and procedural settings where pulse oximetry is already present and respiration monitoring may be desirable without extra sensors.
Li J, Jin J, Chen X, Sun W, Guo P. Comparison of respiratory-induced variations in photoplethysmographic signals. Physiological Measurement. 2010;31(3):415-425. doi:10.1088/0967-3334/31/3/009. PMID:20147775.
Important comparison of respiratory-induced PPG variations. Supports storing raw waveform data so that multiple modulation families can be compared offline rather than relying on one respiratory surrogate.
Liu H, et al. Comparison of different modulations of photoplethysmography in extracting respiratory rate: from a physiological perspective. Physiological Measurement. 2020;41(9):094001. doi:10.1088/1361-6579/abaaf0. PMID:32731213.
Corrected title. Useful because it frames respiratory extraction in terms of physiological mechanisms rather than numerical performance alone. It reminds developers that amplitude, baseline, and frequency modulation may fail under different conditions.
Hartmann V, Liu H, Chen F, Qiu Q, Hughes S, Zheng D. Toward Accurate Extraction of Respiratory Frequency From the Photoplethysmogram: Effect of Measurement Site. Frontiers in Physiology. 2019;10:732. doi:10.3389/fphys.2019.00732. PMID:31316390.
Directly relevant to hardware design. Shows that PPG-derived respiratory frequency depends on measurement site and breathing pattern; strongly supports testing multiple sensor locations or optical channels.
Addison PS. Respiratory modulations in the photoplethysmogram (DPOP) as a measure of respiratory effort. Journal of Clinical Monitoring and Computing. 2016;30(5):595-602. doi:10.1007/s10877-015-9763-y. PMID:26377021.
Useful for moving beyond respiratory rate toward respiratory effort. DPOP quantifies the strength of respiratory modulation in the pleth waveform; a platform should consider modulation depth as well as rate.
Addison PS. Respiratory effort from the photoplethysmogram. Medical Engineering & Physics. 2017;41:9-18. doi:10.1016/j.medengphy.2016.12.010. PMID:28126420.
Explores candidate PPG-derived parameters for respiratory effort, including amplitude, baseline, frequency, and pulse-transit-related changes. Suggests richer endpoints than respiratory rate alone.
Algorithms
16Filtering, time-frequency analysis, synchrosqueezing, probabilistic fusion.
Nakajima K, Tamura T, Miike H. Monitoring of heart and respiratory rates by photoplethysmography using a digital filtering technique. Medical Engineering & Physics. 1996;18(5):365-372. doi:10.1016/1350-4533(95)00066-6. PMID:8762834.
Historically important early demonstration that both heart and respiratory rates can be extracted from PPG with digital filtering. Dated technologically, but conceptually useful as a simple baseline.
Chon KH, Dash S, Ju K. Estimation of respiratory rate from photoplethysmogram data using time-frequency spectral estimation. IEEE Transactions on Biomedical Engineering. 2009;56(8):2054-2063. doi:10.1109/TBME.2009.2019766. PMID:19369147.
Key paper in the transition from simple filtering to time-frequency spectral estimation. Important for nonstationary breathing; a good offline benchmark against cheaper embedded algorithms.
Karlen W, Raman S, Ansermino JM, Dumont GA. Multiparameter respiratory rate estimation from the photoplethysmogram. IEEE Transactions on Biomedical Engineering. 2013;60(7):1946-1953. doi:10.1109/TBME.2013.2246160. PMID:23399950.
Central paper for PPG-derived respiratory rate. It extracts respiratory-induced frequency, intensity, and amplitude variations and combines information across them; highly relevant to a multi-channel platform.
Charlton PH, Bonnici T, Tarassenko L, Clifton DA, Beale R, Watkinson PJ. An assessment of algorithms to estimate respiratory rate from the electrocardiogram and photoplethysmogram. Physiological Measurement. 2016;37(4):610-626. doi:10.1088/0967-3334/37/4/610. PMID:27027672.
Methodological cornerstone comparing algorithms and emphasizing validation, data quality, and common evaluation methods. Important antidote to overfitting algorithms to one clean dataset.
Pimentel MAF, Johnson AEW, Charlton PH, Birrenkott D, Watkinson PJ, Tarassenko L, Clifton DA. Toward a Robust Estimation of Respiratory Rate From Pulse Oximeters. IEEE Transactions on Biomedical Engineering. 2017;64(8):1914-1923. doi:10.1109/TBME.2016.2613124. PMID:28113393.
Must-read for robust RR estimation from pulse oximetry. Uses respiratory-induced variations, quality assessment, and probabilistic fusion; one of the best algorithmic templates for a practical platform.
Charlton PH, Birrenkott DA, Bonnici T, Pimentel MAF, Johnson AEW, Alastruey J, Tarassenko L, Watkinson PJ, Beale R, Clifton DA. Breathing Rate Estimation From the Electrocardiogram and Photoplethysmogram: A Review. IEEE Reviews in Biomedical Engineering. 2018;11:2-20. doi:10.1109/RBME.2017.2763681. PMID:29990026.
The best single review for breathing-rate estimation from ECG and PPG. Lays out preprocessing, respiratory-signal extraction, rate estimation, fusion, and quality assessment.
Garde A, Karlen W, Ansermino JM, Dumont GA. Estimating respiratory and heart rates from the correntropy spectral density of the photoplethysmogram. PLOS ONE. 2014;9(1):e86427. doi:10.1371/journal.pone.0086427. PMID:24466088.
Corrected author list: Dehkordi was removed. Uses correntropy spectral density to improve robustness to noise and non-Gaussian artifacts; useful when simple FFT/Welch methods are unreliable.
Park C, Lee B, Lee J. Real-time estimation of respiratory rate from a photoplethysmogram using an adaptive lattice notch filter. BioMedical Engineering OnLine. 2014;13:170. doi:10.1186/1475-925X-13-170. PMID:25518918.
Corrected title and venue. Valuable for real-time feasibility: algorithms that work in MATLAB may be too memory- or CPU-intensive for an embedded device.
Zhang X, Ding Q. Respiratory rate monitoring from the photoplethysmogram via sparse signal reconstruction. Physiological Measurement. 2016;37(7):1105-1119. doi:10.1088/0967-3334/37/7/1105. PMID:27319303.
Corrected full citation. Treats respiration as a sparse spectral component embedded in a stronger cardiac carrier and noise; likely more useful as an offline benchmark than a first Arduino algorithm.
Dehkordi P, Garde A, Karlen W, Ansermino JM, Dumont GA. Estimating instantaneous respiratory rate from the photoplethysmogram. Annual International Conference of the IEEE Engineering in Medicine and Biology Society. 2015;2015:6150-6153. doi:10.1109/EMBC.2015.7319796. PMID:26737696.
Corrected conference citation. Introduces a synchrosqueezing-transform direction for instantaneous respiratory-rate extraction; likely too heavy for first-pass embedded use but a valuable offline standard.
Dehkordi P, Garde A, Karlen W, Wensley D, Ansermino JM, Dumont GA. Extracting Instantaneous Respiratory Rate From Multiple Photoplethysmogram Respiratory-Induced Variations. Frontiers in Physiology. 2018;9:948. doi:10.3389/fphys.2018.00948. PMID:30131724.
Central open-access paper for advanced respiratory extraction. Extracts RIIV, RIAV, and RIFV, estimates instantaneous RR from each, and fuses estimates.
Cicone A, Wu HT. How nonlinear-type time-frequency analysis can help in sensing instantaneous heart rate and instantaneous respiratory rate from photoplethysmography in a reliable way. Frontiers in Physiology. 2017;8:701. doi:10.3389/fphys.2017.00701. PMID:29018395.
Mathematically advanced nonlinear time-frequency analysis for instantaneous heart and respiratory rates. Not a first embedded method, but useful as a high-end reference standard.
Khreis S, Ge D, Rahman HA, Carrault G. Breathing Rate Estimation Using Kalman Smoother With Electrocardiogram and Photoplethysmogram. IEEE Transactions on Biomedical Engineering. 2020;67(3):893-904. doi:10.1109/TBME.2019.2923448. PMID:31217092.
Shows the value of temporal tracking/smoothing for breath-rate estimates. A Kalman or Bayesian smoother is a natural second-stage module after raw estimator extraction.
Iqbal T, Elahi A, Ganly S, Wijns W, Shahzad A. Photoplethysmography-Based Respiratory Rate Estimation Algorithm for Health Monitoring Applications. Journal of Medical and Biological Engineering. 2022;42(2):242-252. doi:10.1007/s40846-022-00700-z. PMID:35535218.
Corrected full citation. Practical algorithm using selective windowing, preprocessing, modified Welch filtering, and postprocessing. A useful baseline because it is less exotic than synchrosqueezing but more robust than simple filtering.
Kim H, Lee HJ, Kim JS, Whang MC. Fast and Robust Real-Time Estimation of Respiratory Rate from Photoplethysmography. Sensors (Basel). 2016;16(9):1494. doi:10.3390/s16091494. PMID:27649195.
Added as a useful correction/augmentation. Proposes fast real-time RR estimation from PPG, relevant to low-resource embedded implementations and comparison with Park-style adaptive filtering.
Pirhonen M, Peltokangas M, Vehkaoja A. Acquiring Respiration Rate from Photoplethysmographic Signal by Recursive Bayesian Tracking of Intrinsic Modes in Time-Frequency Spectra. Sensors (Basel). 2018;18(6):1693. doi:10.3390/s18061693. PMID:29843380.
Useful open-access time-frequency/Bayesian tracking paper. It broadens the algorithmic menu beyond RIAV/RIIV/RIFV and standard spectral peaks.
Quality and robustness
16Machine learning, signal-quality indices, and staying honest with noisy data.
Baker S, Xiang W, Atkinson I. Determining respiratory rate from photoplethysmogram and electrocardiogram signals using respiratory quality indices and neural networks. PLOS ONE. 2021;16(4):e0249843. doi:10.1371/journal.pone.0249843. PMID:33891653.
Strong bridge between classical modulation extraction and neural networks. Emphasizes respiratory signal quality quantification before feeding information into models.
Lei R, Chen C, Zhou C, Zhang Y, Yang Z, Wang X. Estimation of Heart Rate and Respiratory Rate from PPG Signal Based on Complementary Ensemble Empirical Mode Decomposition with Adaptive Noise and Independent Component Analysis. Sensors (Basel). 2020;20(11):3237. doi:10.3390/s20113237. PMID:32517009.
Uses decomposition and source-separation style processing to recover heart and respiratory rates. Useful for comparing EMD/ICA approaches with simpler bandpass methods.
Chowdhury MH, Shuzan MNI, Chowdhury MEH, Reaz MBI, Mahmud S, Al Emadi N, et al. Lightweight End-to-End Deep Learning Solution for Estimating the Respiration Rate from Photoplethysmogram Signal. Bioengineering (Basel). 2022;9(10):558. doi:10.3390/bioengineering9100558.
Corrected title and venue. Useful as a benchmark for direct RR estimation from raw/processed PPG, even if a full deep model is not the first target for Arduino deployment.
Hwang CS, et al. Evaluation of the Photoplethysmogram-Based Deep Learning Model for Respiratory Rate Estimation. Sensors (Basel). 2023;23(20):8377. doi:10.3390/s23208377. PMID:37892952.
Corrected to a specific Sensors article. Evaluates deep learning models for continuous RR estimation from PPG and helps identify what labeled respiratory reference signal would be needed for training or validation.
Shuzan MNI, Chowdhury MH, Chowdhury MEH, Murugappan M, Bhuiyan EH, Ayari MA, Khandakar A. Machine Learning-Based Respiration Rate and Blood Oxygen Saturation Estimation Using Photoplethysmogram Signals. Bioengineering (Basel). 2023;10(2):167. doi:10.3390/bioengineering10020167. PMID:36829661.
Machine-learning approach to estimating both RR and SpO2-related information from PPG. Suggests future multi-output models that estimate RR, signal quality, SpO2 surrogates, and artifact flags.
Chin WJ, Kwan BH, Lim WY, Tee YK, Darmaraju S, Liu H, Goh CH. A novel respiratory rate estimation algorithm from photoplethysmogram using deep learning model. Diagnostics (Basel). 2024;14(3):284. doi:10.3390/diagnostics14030284. PMID:38337800.
Corrected title. Recent open-access paper explicitly focused on RR from PPG; useful contemporary comparator and bridge to older RIAV/RIIV/RIFV methods.
Yang G, Kang Y, Charlton PH, Kyriacou PA, Kim KK, Li L, Park C. Energy-Efficient PPG-Based Respiratory Rate Estimation Using Spiking Neural Networks. Sensors (Basel). 2024;24(12):3980. doi:10.3390/s24123980. PMID:38931569.
Relevant for low-power and embedded ambitions. Spiking neural networks may eventually map well to efficient hardware, even if not immediately Arduino-friendly.
Arguello-Prada EJ, et al. The use of successive systolic differences in photoplethysmography for respiratory rate estimation. Heliyon. 2024;10(2):e24576. doi:10.1016/j.heliyon.2024.e24576.
Introduces respiratory-induced variations in successive systolic differences as an alternative to classic amplitude, intensity, and frequency families; valuable for beat-to-beat morphology-oriented experiments.
Ponsiglione AM, et al. Comparison of Techniques for Respiratory Rate Extraction from ECG and PPG Signals. Sensors (Basel). 2025;25(16):5136. doi:10.3390/s25165136. PMID:40871998.
Recent comparative paper evaluating extraction from ECG and PPG. Useful for sober benchmarking and for recognizing conditions where PPG-derived respiration may underperform ECG-derived features.
Jarchi D, Charlton PH, Pimentel MAF, Casson AJ, Tarassenko L, Clifton DA. Estimation of Respiratory Rate from Motion Contaminated Photoplethysmography Signals Incorporating Accelerometry. Healthcare Technology Letters. 2019;6(1):19-24. doi:10.1049/htl.2018.5019.
Corrected full title. Motion-contaminated PPG is the normal wearable case; supports adding accelerometers and explicit motion labels to the platform.
Lee J, Kim M, Park HK, Kim IY. Motion Artifact Reduction in Wearable Photoplethysmography Based on Multi-Channel Sensors with Multiple Wavelengths. Sensors (Basel). 2020;20(5):1493. doi:10.3390/s20051493.
Directly relevant to hardware. Supports multi-channel and multi-wavelength PPG sensors for artifact reduction; useful for separating respiratory physiology from motion and contact artifacts.
Elgendi M. Optimal Signal Quality Index for Photoplethysmogram Signals. Bioengineering (Basel). 2016;3(4):21. doi:10.3390/bioengineering3040021. PMID:28952542.
Key open paper on PPG signal-quality indices. Respiratory extraction is only as reliable as the source waveform; supports quality gating before RR estimation.
Sabeti E, Reamaroon N, Mathis J, et al. Signal quality measure for pulsatile physiological signals using morphological features: Applications in reliability measure for pulse oximetry. Informatics in Medicine Unlocked. 2019;16:100222. doi:10.1016/j.imu.2019.100222. PMID:32864419.
Corrected title and application phrase. Proposes morphological features for signal quality and reliability, which can support exclusion/down-weighting of unreliable PPG windows.
Orphanidou C, Bonnici T, Charlton P, Clifton D, Vallance D, Tarassenko L. Signal-quality indices for the electrocardiogram and photoplethysmogram: derivation and applications to wireless monitoring. IEEE Journal of Biomedical and Health Informatics. 2015;19(3):832-838. doi:10.1109/JBHI.2014.2338351. PMID:25069129.
Highly cited SQI paper in wearable monitoring. Reinforces that signal quality is task-specific: a segment may be adequate for heart rate but not for respiratory information.
van Gastel M, Stuijk S, de Haan G. Robust respiration detection from remote photoplethysmography. Biomedical Optics Express. 2016;7(12):4941-4957. doi:10.1364/BOE.7.004941. PMID:28018717.
Remote/camera-based PPG paper relevant because it extracts respiration from color/intensity variations and addresses motion robustness. Broadens the project from contact PPG to optical/camera respiratory sensing.
Zhang Y, Song S, Vullings R, Biswas D, Simões-Capela N, Van Helleputte N, Van Hoof C, Groenendaal W. Motion Artifact Reduction for Wrist-Worn Photoplethysmograph Sensors Based on Different Wavelengths. Sensors (Basel). 2019;19(3):673. doi:10.3390/s19030673. PMID:30764575.
Useful adjunct for multi-wavelength hardware design. Although focused mainly on heart-rate recovery, the motion-removal logic matters for any respiratory estimator using wearable PPG.
Applied: what this means for a PulseSensor
Everything above is literature. This section is the bridge: what each idea means when the sensor in your hand is a PulseSensor, on a real finger, in a room with real light in it.
What the sensor actually does
PulseSensor is a reflectance photoplethysmograph. A green LED shines into the tissue, a photodiode measures how much light comes back, and an onboard amplifier and filter turn that into an analog voltage your board samples. Blood volume rises with each heartbeat, absorbs slightly more light, and the returned signal dips. That is the whole trick — and every paper above is, at bottom, about what else is riding on that one wobbling line.
Entries 1 and 2
Why respiration is in there at all
Breathing changes intrathoracic pressure and venous return, and the autonomic system modulates heart rate in time with the breath. So the pulse waveform carries at least three respiratory fingerprints: amplitude (RIAV), baseline (RIIV), and rate (RIFV, or respiratory sinus arrhythmia). They are small, they are simultaneous, and they do not always agree.
Entries 9, 18 and 26
Where you put it changes what you get
- FingertipStrongest, most forgiving signal. The default for a reason.
Cold hands kill perfusion. Hands move constantly. Our stabilizer ring exists for exactly this. - EarlobeMuch steadier than a finger. Well suited to breathing work where you need a quiet baseline.
Smaller signal amplitude. Needs a clip to stay put. The kit ear clip. - ForeheadGood perfusion, and a favourite in the respiratory literature.
Very sensitive to contact pressure. Easy to press too hard and occlude what you are trying to measure. Light shield helps. - WristThe realistic wearable position, which is why most modern papers use it.
Weakest signal and the worst motion artifact of the four. Expect to fight for this one.
Skin, pressure, light, and motion
- Skin toneMelanin absorbs green light. Darker skin returns less signal at PulseSensor's wavelength, so amplitude — not heart rate, but amplitude — varies between people. This is a documented property of green-wavelength reflectance PPG across the whole industry, not a quirk of one sensor.
Longer averaging, better light shielding, and firm-but-not-hard contact. Longer wavelengths are the real fix, which is why multi-wavelength work is interesting to us. - Contact pressurePress too lightly and the sensor floats. Press too hard and you occlude the very blood flow you are measuring. There is a window, and it is narrower than people expect.
Mechanical fixturing beats willpower. Ring, clip, or strap. - Ambient lightThe photodiode cannot tell your heartbeat from a flickering ceiling light. Mains-frequency hum and daylight both intrude.
Shield the sensor. Then check your spectrum for a 50 or 60 Hz spike before blaming your algorithm. - MotionThe dominant artifact in every wearable PPG paper in this list. Motion energy overlaps the respiratory band, which is precisely the band you want.
An accelerometer is the cheapest upgrade you can make to a PPG rig. You cannot subtract what you did not measure.
Knowing when to trust a window
Signal quality is task-specific. A window clean enough to count beats is often far too dirty to pull a breathing rate out of, because respiration lives in the small modulations that motion destroys first. The signal-quality index literature (entries 43, 44 and 45) exists to let your code know the difference. Gate first, estimate second, and log which windows you threw away.
One, two, or three sensors
The bibliography gets considerably more useful once you know which parts of it you can act on today. Capability steps up with channel count.
One sensor — The single-channel workbench
-
Beats per minute and inter-beat interval
Straight out of PulseSensor Playground —getBeatsPerMinute()andgetInterBeatIntervalMs(). -
Heart rate variability
Time domain, frequency domain, and Poincaré phase-space plots from the IBI series alone. -
Live FFT of the pulse waveform
Spectral view of your own pulse. Where the respiratory band starts becoming visible. -
Respiration from one channel
RIAV, RIIV and RIFV all extractable from a single PPG trace — entries 18 and 26 are the templates. -
Biofeedback
Close the loop: paced breathing against your own live HRV.
Two sensors — Time-of-flight and A/B
-
Pulse transit time
Two sensors at different distances from the heart give you the travel time of the pressure wave between them. -
Site comparison, properly controlled
Finger against earlobe on the same person at the same moment — the experiment entry 13 says you need to run. -
Left-right symmetry
Same site, both sides. Differences are interesting; so is the absence of them. -
Common-mode motion rejection
What shows up in both channels is the body moving. What shows up in one is local. This is the cheapest artifact discriminator there is.
Three or more — Fusion territory
-
Multi-channel respiratory fusion
Run several respiratory estimators in parallel and combine them with quality weighting — the approach in entries 20, 21 and 26. This is where single-estimator setups stop being competitive. -
Multi-wavelength artifact reduction
Entries 42 and 47 show different wavelengths responding differently to motion, which lets you separate physiology from movement. -
Spatial and propagation mapping
Three or more sites along a limb turn a timing measurement into a picture of how the wave travels. -
A non-PPG channel
An accelerometer is not a PulseSensor, but it is the highest-value third channel you can add. Motion ground truth makes every other estimator better.
Honest limits
- One wavelength means no SpO2Pulse oximetry needs at least two wavelengths — typically red and infrared — to separate oxygenated from deoxygenated haemoglobin. PulseSensor is single-wavelength green. Nothing in this bibliography changes that, and any project claiming SpO2 from a single green channel is mistaken.
- Your ADC sets your ceilingPulseSensor hands your board an analog voltage. Sample rate, ADC bit depth, and reference stability are yours to get right. Several methods in the algorithms section assume a clean, evenly-timed sample stream and quietly fall apart without one.
- None of this is medicalThese are educational and experimental instruments. The clinical papers here describe what the research literature has established in clinical settings with clinical equipment; they are not instructions for measuring anyone's health. PulseSensor is not a medical device and is not for diagnosis, treatment, monitoring, or emergency use.
Notes for an Arduino or ESP32 platform
Reading the papers above with a breadboard in front of you, a few rules keep showing up.
- Save the raw waveformEvery respiratory method here works on raw samples. What you discard at capture time you cannot get back.
- Bandpass and spectral peak detection firstThen layer RIAV, RIIV, and RIFV extraction on top — not instead.
- Gate on quality, then fuseA window good enough for heart rate is often not good enough for respiration.
- Plan for an accelerometerMotion is the dominant artifact, and far easier to reject once measured.
- Log the measurement siteFinger, earlobe, and forehead do not behave the same way. See Hartmann et al. 2019.
Already on this site
We have been publishing hands-on signal work for years. These are the practical companion to the reading list.
Heart rate variability
Multi-sensor experiments
Build on it
Why this reading list belongs on this site and not in a folder somewhere: everything it describes is implementable against code we already give away. A decade of Arduino libraries, Processing and p5.js sketches, worked examples, and documentation — MIT licensed, all of it.
Compiled by D. John Doyle for World Famous Electronics. Prepared with AI assistance and offered for creative, educational, and experimental use. PulseSensor is not a medical device and is not for diagnosis, treatment, monitoring, or emergency use. Free and open-source hardware since 2011. ♥