Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Heart Rate & Oximeter Sensor V2.0: Examples, Pinouts, and Specs

Image of Heart Rate & Oximeter Sensor V2.0
Cirkit Designer LogoDesign with Heart Rate & Oximeter Sensor V2.0 in Cirkit Designer

Introduction

The Heart Rate & Oximeter Sensor V2.0 (Manufacturer Part ID: MAX30102) by DFROBOT is a compact and highly integrated sensor module designed for measuring heart rate and blood oxygen saturation (SpO2) levels. It utilizes photoplethysmography (PPG) technology, which detects changes in blood volume through light absorption. This sensor is widely used in health monitoring devices, fitness trackers, and medical applications.

Explore Projects Built with Heart Rate & Oximeter Sensor V2.0

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Micro and AD8232 Heart Rate Monitor with Lead-Off Detection
Image of ecg : A project utilizing Heart Rate & Oximeter Sensor V2.0 in a practical application
This circuit is a heart rate monitoring system that uses an AD8232 Heart Rate Monitor module connected to an Arduino Micro (Rev3). The Arduino reads the heart rate signal from the AD8232 and prints the analog values to the Serial Monitor, while also checking for lead-off detection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Based Heart Rate Monitor with OLED Display
Image of pulse sensor: A project utilizing Heart Rate & Oximeter Sensor V2.0 in a practical application
This circuit is designed to monitor heart rate using a pulse sensor and display the readings on an OLED screen. The Arduino UNO reads the pulse signal from the sensor, processes the data to calculate beats per minute (BPM), and then displays the heart rate along with health advisories on the OLED. The system is intended for non-invasive monitoring of heart rate, with visual feedback provided in real-time.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Heartbeat Monitor with I2C LCD Display
Image of Heartbeat Sensor System: A project utilizing Heart Rate & Oximeter Sensor V2.0 in a practical application
This circuit is a heartbeat monitoring system using an Arduino UNO, a heart pulse sensor, and a 16x2 I2C LCD. The Arduino reads the pulse sensor data, calculates the beats per minute (BPM), and displays the BPM on the LCD when a button is pressed. An LED also indicates heartbeat detection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Based Heart Rate Monitor with OLED Display
Image of Dead Man's switch: A project utilizing Heart Rate & Oximeter Sensor V2.0 in a practical application
This circuit is designed to measure heart pulse rate using an Arduino UNO connected to a Heart Pulse Sensor. The sensor's signal is read by the Arduino's analog input A0, and the data is displayed on an OLED screen using I2C communication (SCL and SDA connected to A5 and A4 respectively). The embedded code reads the pulse signal, calculates the beats per minute (BPM), and dynamically displays the BPM value on the OLED.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Heart Rate & Oximeter Sensor V2.0

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of ecg : A project utilizing Heart Rate & Oximeter Sensor V2.0 in a practical application
Arduino Micro and AD8232 Heart Rate Monitor with Lead-Off Detection
This circuit is a heart rate monitoring system that uses an AD8232 Heart Rate Monitor module connected to an Arduino Micro (Rev3). The Arduino reads the heart rate signal from the AD8232 and prints the analog values to the Serial Monitor, while also checking for lead-off detection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of pulse sensor: A project utilizing Heart Rate & Oximeter Sensor V2.0 in a practical application
Arduino UNO Based Heart Rate Monitor with OLED Display
This circuit is designed to monitor heart rate using a pulse sensor and display the readings on an OLED screen. The Arduino UNO reads the pulse signal from the sensor, processes the data to calculate beats per minute (BPM), and then displays the heart rate along with health advisories on the OLED. The system is intended for non-invasive monitoring of heart rate, with visual feedback provided in real-time.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Heartbeat Sensor System: A project utilizing Heart Rate & Oximeter Sensor V2.0 in a practical application
Arduino Heartbeat Monitor with I2C LCD Display
This circuit is a heartbeat monitoring system using an Arduino UNO, a heart pulse sensor, and a 16x2 I2C LCD. The Arduino reads the pulse sensor data, calculates the beats per minute (BPM), and displays the BPM on the LCD when a button is pressed. An LED also indicates heartbeat detection.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Dead Man's switch: A project utilizing Heart Rate & Oximeter Sensor V2.0 in a practical application
Arduino UNO Based Heart Rate Monitor with OLED Display
This circuit is designed to measure heart pulse rate using an Arduino UNO connected to a Heart Pulse Sensor. The sensor's signal is read by the Arduino's analog input A0, and the data is displayed on an OLED screen using I2C communication (SCL and SDA connected to A5 and A4 respectively). The embedded code reads the pulse signal, calculates the beats per minute (BPM), and dynamically displays the BPM value on the OLED.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Wearable health monitoring devices
  • Fitness trackers
  • Medical diagnostic tools
  • Research and development in biomedical engineering
  • IoT-based health monitoring systems

Technical Specifications

The following table outlines the key technical details of the MAX30102 sensor module:

Parameter Value
Operating Voltage 1.8V (internal) / 3.3V (I/O voltage)
Operating Current 600 µA (typical)
Standby Current 0.7 µA
Measurement Method Photoplethysmography (PPG)
Communication Interface I2C
I2C Address 0x57 (default)
Wavelengths Red: 660 nm, Infrared: 880 nm
Sampling Rate Programmable (50 Hz to 400 Hz)
Operating Temperature -40°C to +85°C
Dimensions 13.0 mm x 8.0 mm x 1.2 mm

Pin Configuration

The MAX30102 module has the following pinout:

Pin Name Description
1 VIN Power supply input (3.3V)
2 GND Ground
3 SDA I2C data line
4 SCL I2C clock line
5 INT Interrupt output (active low)

Usage Instructions

Connecting the Sensor

To use the MAX30102 sensor with a microcontroller (e.g., Arduino UNO), follow these steps:

  1. Power Supply: Connect the VIN pin to the 3.3V output of the microcontroller and the GND pin to ground.
  2. I2C Communication: Connect the SDA pin to the Arduino's A4 pin and the SCL pin to the A5 pin (for Arduino UNO). Use pull-up resistors (typically 4.7 kΩ) on the SDA and SCL lines if not already included on the module.
  3. Interrupt Pin: The INT pin can be connected to a digital input pin on the microcontroller if interrupt-based data reading is required.

Sample Code for Arduino UNO

Below is an example Arduino sketch to read heart rate and SpO2 data from the MAX30102 sensor using the DFRobot MAX30102 library:

#include <Wire.h>
#include "DFRobot_MAX30102.h"

// Create an instance of the MAX30102 sensor
DFRobot_MAX30102 max30102;

void setup() {
  Serial.begin(9600); // Initialize serial communication
  Wire.begin();       // Initialize I2C communication

  // Initialize the MAX30102 sensor
  if (!max30102.begin()) {
    Serial.println("MAX30102 initialization failed. Check connections.");
    while (1); // Halt execution if initialization fails
  }
  Serial.println("MAX30102 initialized successfully.");
}

void loop() {
  // Variables to store heart rate and SpO2 values
  uint8_t heartRate = 0;
  uint8_t spo2 = 0;

  // Read heart rate and SpO2 data
  if (max30102.read(&heartRate, &spo2)) {
    Serial.print("Heart Rate: ");
    Serial.print(heartRate);
    Serial.print(" bpm, SpO2: ");
    Serial.print(spo2);
    Serial.println(" %");
  } else {
    Serial.println("Failed to read data. Ensure proper sensor placement.");
  }

  delay(1000); // Wait 1 second before the next reading
}

Important Considerations

  • Ensure the sensor is securely connected to the microcontroller to avoid communication errors.
  • Avoid exposing the sensor to direct sunlight or strong ambient light, as this may interfere with measurements.
  • For accurate readings, ensure the sensor is in close contact with the skin (e.g., fingertip or earlobe).
  • Use a stable power supply to minimize noise in the measurements.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Sensor Not Detected

    • Cause: Incorrect I2C wiring or address mismatch.
    • Solution: Verify the SDA and SCL connections. Ensure the I2C address is set to 0x57 in the code.
  2. Inaccurate Readings

    • Cause: Poor sensor placement or excessive ambient light.
    • Solution: Ensure the sensor is in close contact with the skin and shield it from ambient light.
  3. Initialization Fails

    • Cause: Power supply issues or damaged sensor.
    • Solution: Check the VIN and GND connections. Ensure the power supply is 3.3V.
  4. Data Read Errors

    • Cause: Noise or unstable I2C communication.
    • Solution: Use pull-up resistors on the SDA and SCL lines if not already present.

FAQs

Q1: Can the MAX30102 be powered with 5V?
A1: No, the MAX30102 operates at 3.3V. Using 5V may damage the sensor.

Q2: What is the maximum sampling rate of the sensor?
A2: The MAX30102 supports a programmable sampling rate of up to 400 Hz.

Q3: Can this sensor be used for continuous monitoring?
A3: Yes, the MAX30102 is designed for continuous monitoring applications, but ensure proper heat dissipation to avoid overheating.

Q4: Is the sensor compatible with other microcontrollers?
A4: Yes, the MAX30102 can be used with any microcontroller that supports I2C communication, such as ESP32, Raspberry Pi, etc.

By following this documentation, users can effectively integrate the Heart Rate & Oximeter Sensor V2.0 into their projects for reliable health monitoring.