MAX30102 Heart Rate and SpO2 Pulse Oximeter Sensor for Arduino
The MAX30102 combines a red LED (660nm) and infrared LED (880nm) with a photodetector and 18-bit ADC in a single optical sensor package, measuring heart rate and blood oxygen saturation (SpO2) non-invasively from a fingertip. The sensor outputs raw optical data over I2C; a dedicated signal processing library extracts HR and SpO2 values on the Arduino. Current consumption during measurement is 600 microamps for the measurement LED — low enough for wearable battery applications.
- Red (660nm) and IR (880nm) LEDs — dual-wavelength for SpO2
- 18-bit ADC — high resolution for accurate pulse detection
- I2C interface — address 0x57
- 1.8V–3.3V supply — onboard regulator on module
- FIFO buffer — 32 samples, reduces MCU polling
| Specification | Value |
|---|---|
| Sensor IC | MAX30102 (Maxim) |
| LED wavelengths | 660nm (red) + 880nm (IR) |
| ADC resolution | 18-bit |
| Interface | I2C (address 0x57) |
| Supply voltage | 1.8V – 3.3V (module: 3.3V–5V) |
| Sample rate | 50–3200Hz (configurable) |
How accurate is the MAX30102 for heart rate and SpO2?
The MAX30102 provides reliable relative heart rate detection when the sensor is held still against a fingertip — erratic readings from motion artefacts are the most common issue. SpO2 accuracy depends significantly on the signal processing algorithm. The SparkFun MAX3010x library by paulvha is well-tested and provides reasonable SpO2 approximations for educational and prototyping use; it is not a medical device and should not be used for clinical diagnosis.
Best for
Wearable heart rate monitors, fitness tracker prototypes, sleep monitoring experiments, biometric data logging, smartwatch projects, and university biomedical engineering demonstrations.
Why Kunkune
Shipped from UK stock. 60-day returns, no minimum order. Fast Royal Mail delivery.
Buying in bulk? For orders of 10+ units, contact us for trade pricing.















