The MAX30102 is an integrated pulse oximetry and heart-rate monitoring module. It contains a red (660 nm) and infrared (880 nm) LED that illuminate the finger; a photodiode measures the pulsatile variation in light absorption caused by arterial blood volume changes.
| IC | MAX30102 |
| Supply voltage | 1.8 V (core) / 3.3–5 V (LED) |
| Interface | I²C up to 400 kHz |
| ADC resolution | 18-bit |
| Wavelengths | 660 nm (red) + 880 nm (IR) |
| Heart rate range | 40 – 240 BPM |
| SpO₂ range | 0 – 100 % |
| Sample rate | 50 – 3200 Hz configurable |
Oxygenated haemoglobin absorbs more IR light; deoxygenated haemoglobin absorbs more red light. The ratio R = (AC_red/DC_red) / (AC_IR/DC_IR) maps to SpO₂ via a lookup table calibrated against a reference oximeter. Beat-to-beat intervals in the PPG waveform yield heart rate.
Requires good skin contact and stillness — motion artifacts corrupt the PPG signal. Nail polish and dark skin pigmentation affect accuracy. Not a medical-grade device without clinical validation. Readings drift with ambient light leakage.