Building a Photoplethysmography Sensor Step-by-Step Circuit Guide

photoplethysmography circuit diagram

Start with a single 940nm infrared LED paired with a phototransistor like the SFH 3710. This wavelength penetrates skin effectively while minimizing ambient interference. Place the components in a transmissive configuration–LED and sensor on opposite sides of a fingertip or earlobe–for consistent signal quality. Avoid reflective setups unless you’re targeting shallow tissue readings; they introduce noise from motion artifacts.

For amplification, use a dual-stage op-amp design. The first stage (e.g., LM358) should have a gain of 10–50, configured as a non-inverting amplifier with AC coupling (1µF capacitor in series) to block DC offsets. The second stage can add another gain of 5–20, but prioritize a bandwidth of 0.5–5Hz to filter out high-frequency noise. Include a 10kΩ potentiometer to fine-tune the gain during calibration–raw signals often vary by ±30% across users.

Power the LED at 3–10mA using a current-limiting resistor (calculate via R = (Vcc – VLED) / ILED). For example, with a 3.3V supply and a 1.2V LED forward voltage, a 220Ω resistor delivers ~9.5mA. Add a 100nF decoupling capacitor close to the op-amp’s power pins to reduce ripple from power supply fluctuations–this alone can cut noise by 15–20%.

For digitization, feed the amplified signal into an ADC with at least 10-bit resolution. A 10Hz sampling rate suffices for basic heart rate detection, but increase to 50–100Hz if analyzing pulse morphology. Include a Schmitt trigger circuit (e.g., 74HC14) to convert the analog waveform into clean digital pulses–this eliminates false triggers from minor noise spikes. Validate the output against a commercial pulse oximeter; deviations should stay within ±2 BPM for reliable readings.

Building a Pulse-Sensing Device: Key Components and Layout

photoplethysmography circuit diagram

Start with a high-sensitivity PIN photodiode like the BPW34 or VEMD8080–its spectral response should peak at 850–950 nm for optimal blood volume pulse detection. Pair it with a matched LED, such as a Kingbright KPHHS-003 or Osram SFH 4230, emitting in the near-infrared range. Current-limiting resistors for the LED should be sized between 47–100 Ω, calculated for forward currents of 15–25 mA to balance brightness and power efficiency. Ground the photodiode’s cathode to minimize noise, and connect its anode to a transimpedance amplifier (TIA) stage using an LM358 or OPA344 op-amp. The TIA’s feedback resistor (100–500 kΩ) and capacitor (10–100 pF) must be selected to filter high-frequency interference while preserving the 0.5–4 Hz heartbeat signal.

For signal conditioning, AC-couple the TIA output via a 1 µF capacitor to remove DC offsets from ambient light. Follow with a second-order Sallen-Key active filter, configured for a 0.5 Hz low-pass cutoff to reject motion artifacts and a 10 Hz high-pass roll-off to suppress baseline drift. Gain settings for this stage should range between 10–50×, adjusted empirically based on sensor placement and subject variability. Power the system with a regulated 3.3 V supply, adding decoupling capacitors (0.1 µF ceramic + 10 µF tantalum) at each IC’s Vcc pin to suppress ripple from switching loads like MCU interrupts.

Digitize the conditioned waveform using a 10-bit ADC at ≥500 SPS, ensuring the sampling rate exceeds twice the highest expected heart-rate harmonic (e.g., 300 BPM ≈ 5 Hz). For analog-front-end validation, test with a known reference signal–such as a 1 Hz sine wave from a function generator–while monitoring peak-to-peak swing and noise floor on an oscilloscope. Calibrate the LED drive current against the photodiode’s output in complete darkness to establish zero-signal baseline, then expose the sensor to a finger or earlobe to observe pulse amplitude shifts. Store raw ADC values in 128-sample circular buffers for real-time peak detection, applying a moving-average filter to smooth abrupt transitions before calculating Beats Per Minute.

Key Components Selection for Optical Pulse Detection Hardware

photoplethysmography circuit diagram

Opt for a green LED with a peak wavelength between 520–540 nm for reflectance-mode sensors. This range balances tissue penetration depth (1–2 mm) and hemoglobin absorption efficiency, reducing motion artifacts by up to 40% compared to red or IR alternatives. Prioritize LEDs with narrow spectral bandwidth (<30 nm FWHM) to minimize interference from ambient light. Cree TR2227 or Osram LB Q9WP are validated options with stable forward currents of 20–50 mA at 2.1 V typical drop.

Select silicon photodiodes with an active area of 1–3 mm² for compact wearable designs. Larger areas increase capacitance, degrading high-frequency response–critical for detecting pulse waveforms above 10 Hz. The Hamamatsu S1336-18BK or Vishay VEMD5510CF offer >0.35 A/W responsivity at 530 nm with <5 pA/√Hz noise density. Ensure spectral response overlaps the LED’s emission peak by >80% to maximize signal-to-noise ratio (SNR).

Implement a transimpedance amplifier (TIA) with a feedback resistor of 1–10 MΩ for weak signal environments. Lower values (<1 MΩ) improve bandwidth but amplify noise; higher values (>10 MΩ) risk saturation from DC offsets. The OPA380 or LTC6268 provide <0.9 pA/√Hz input current noise and >100 MHz gain-bandwidth product. Position the TIA within 10 mm of the photodiode to minimize parasitic capacitance, which can degrade settling time by 2–5× per pF.

Use a fourth-order low-pass Butterworth filter with a cutoff at 12–15 Hz to isolate pulse harmonics while rejecting respiratory oscillations (<0.3 Hz) and muscle noise (>20 Hz). Active implementations (e.g., Sallen-Key) with TL072 op-amps outperform passive RC filters by avoiding signal attenuation below 0.1 dB. For adjustable cutoffs, digital potentiometers like the AD5243 allow ±1% tolerance in cutoff frequency tuning.

Integrate a 16-bit ADC with >90 dB dynamic range to capture subtle waveform variations, such as dicrotic notches in arterial stiffness assessment. The AD7988-5 or MAX11165 offer >100 kSPS sampling rates with <−115 dB THD, preserving signal fidelity in high-precision applications. Clock jitter must remain below 10 ps RMS to prevent distortion in the 10–20 Hz band; crystal oscillators (e.g., SiT8008) achieve <3 ps RMS.

Choose flexible PCB substrates with <100 µm thickness for skin-coupled sensors to conform to curved surfaces. Polyimide (e.g., DuPont Pyralux) maintains dielectric strength (>5 kV/mm) while reducing parasitic capacitance by 30% versus FR4. Copper traces should be >35 µm thick to minimize resistive losses; ENIG surface finish prevents oxidation at the LED/detector interface.

Shield optical pathways with opaque, biocompatible housings (e.g., medical-grade ABS or silicone) to block >99% of ambient light. Black pigmented materials like Makrolon 2405 absorb stray wavelengths without re-emitting fluorescence. Include a 3–5 mm air gap between the LED/photodiode pair and housing wall to prevent optical crosstalk, which can falsely inflate SNR by 15–25%.

Verify component compatibility through thermal stress testing (−20°C to +60°C) and humidity exposure (85% RH, 48h). LEDs degrade <1%/1000h at 50 mA, while photodiodes exhibit <−0.5%/°C temperature coefficient. Add a 10 kΩ thermistor (e.g., NTC 10k) near the LED to compensate for wavelength drift, which shifts ~0.1 nm/°C beyond 40°C.

Connecting the Light Source and Sensor in Pulse-Oximetry Setups

photoplethysmography circuit diagram

Use a reverse-biased photodiode (e.g., BPW34, OSRAM SFH 2440) for the detector, pairing it with a high-intensity 940 nm infrared LED (Vishay TSAL6400) or dual-wavelength 660/940 nm LEDs (Kingbright KA-3528SURC) to maximize signal quality. Position both elements facing each other with a fixed gap of 5–10 mm for finger-based modules or 2–4 mm for wrist-mounted designs to prevent ambient light leakage while allowing consistent light coupling. Ensure the LED’s forward current remains below 20 mA (Vf ≈ 1.2–1.5 V) by adding a 150 Ω series resistor; exceeding this threshold degrades output stability and shortens component lifespan.

  • Solder the LED’s anode (+) to the resistor, then connect the resistor’s free end to the microcontroller’s 3.3 V or 5 V pin–never apply voltage directly without current limiting.
  • Wire the photodiode’s cathode (−) to the analog input (e.g., Arduino A0) and the anode (+) to the ground rail; reverse bias improves response speed and reduces dark current.
  • Avoid long wire runs (>10 cm) between the sensor and amplifying stage; twist signal pairs to minimize EMI from power lines or nearby wireless modules.

Choose a transparent, rigid spacer (e.g., 3D-printed PLA, acrylic sheet) to maintain alignment–flexible materials like silicone introduce motion artifacts during movement. For multi-site monitoring (earlobe, toe), use wavelength-specific LEDs matched to skin optical properties: 660 nm (red) penetrates shallow vessels (0.5–1 mm depth), while 940 nm (infrared) reaches deeper capillaries (1.5–3 mm). Test different wavelengths empirically; absorption coefficients vary widely between individuals due to melanin and tissue density variations.

Add a 10 kΩ pull-down resistor between the photodiode’s anode and ground to clamp noise when the LED is off, followed by a low-pass RC filter (e.g., 1 kΩ + 1 µF) at the signal output to attenuate 50/60 Hz interference. Verify signal integrity by observing the DC offset (typically 0.5–2 V) and AC amplitude (10–50 mV peak-to-peak) with an oscilloscope before proceeding to amplification–unexpectedly high offsets (>3 V) indicate improper biasing or ambient light leakage. For mobile applications, power the setup from a filtered LDO (e.g., MIC5219) to reject battery voltage ripple, which distorts pulse-rate readings.