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

How to Use MAX30102: Examples, Pinouts, and Specs

Image of MAX30102
Cirkit Designer LogoDesign with MAX30102 in Cirkit Designer

Introduction

The MAX30102 is a pulse oximeter and heart-rate sensor module manufactured by Analog Devices (formerly Maxim Integrated). It utilizes photoplethysmography (PPG) technology to measure blood oxygen saturation (SpO2) and heart rate. The module integrates red and infrared LEDs, a photodetector, optical elements, and low-noise electronics in a compact package, making it ideal for wearable health monitoring devices.

Explore Projects Built with MAX30102

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Health Monitoring System with Nucleo WB55RG and OLED Display
Image of Pulsefex: A project utilizing MAX30102 in a practical application
This circuit is a multi-sensor data acquisition system that uses a Nucleo WB55RG microcontroller to interface with a digital temperature sensor (TMP102), a pulse oximeter and heart-rate sensor (MAX30102), and a 0.96" OLED display via I2C. Additionally, it includes a Sim800l module for GSM communication, powered by a 3.7V LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
Image of circuit diagram: A project utilizing MAX30102 in a practical application
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and MAX30100 Pulse Oximeter
Image of t: A project utilizing MAX30102 in a practical application
This circuit features an ESP32 microcontroller connected to a MAX30100 sensor, which is likely used for measuring pulse oximetry. The ESP32 is interfaced with the MAX30100 via I2C communication, as indicated by the SDA and SCL connections. Power is supplied to both the ESP32 and the MAX30100 by a 5V battery, with common ground established across the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Health Monitoring System with Bluetooth and GPS
Image of circuit diagram: A project utilizing MAX30102 in a practical application
This circuit integrates an ESP32 microcontroller with various sensors and modules, including a MAX30100 pulse oximeter, an MLX90614 infrared thermometer, a Neo 6M GPS module, and an HC-05 Bluetooth module. The ESP32 collects data from these sensors and modules via I2C and UART interfaces, enabling wireless communication and GPS tracking capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with MAX30102

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 Pulsefex: A project utilizing MAX30102 in a practical application
Battery-Powered Health Monitoring System with Nucleo WB55RG and OLED Display
This circuit is a multi-sensor data acquisition system that uses a Nucleo WB55RG microcontroller to interface with a digital temperature sensor (TMP102), a pulse oximeter and heart-rate sensor (MAX30102), and a 0.96" OLED display via I2C. Additionally, it includes a Sim800l module for GSM communication, powered by a 3.7V LiPo battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of circuit diagram: A project utilizing MAX30102 in a practical application
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of t: A project utilizing MAX30102 in a practical application
ESP32 and MAX30100 Pulse Oximeter
This circuit features an ESP32 microcontroller connected to a MAX30100 sensor, which is likely used for measuring pulse oximetry. The ESP32 is interfaced with the MAX30100 via I2C communication, as indicated by the SDA and SCL connections. Power is supplied to both the ESP32 and the MAX30100 by a 5V battery, with common ground established across the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of circuit diagram: A project utilizing MAX30102 in a practical application
ESP32-Based Health Monitoring System with Bluetooth and GPS
This circuit integrates an ESP32 microcontroller with various sensors and modules, including a MAX30100 pulse oximeter, an MLX90614 infrared thermometer, a Neo 6M GPS module, and an HC-05 Bluetooth module. The ESP32 collects data from these sensors and modules via I2C and UART interfaces, enabling wireless communication and GPS tracking capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Wearable fitness trackers and smartwatches
  • Medical devices for heart rate and SpO2 monitoring
  • Health monitoring systems
  • Research and development in biomedical applications

Technical Specifications

The MAX30102 is designed for low-power operation and high performance. Below are its key technical specifications:

Parameter Value
Supply Voltage (VDD) 1.8V
LED Supply Voltage (VLED) 3.3V to 5.5V
Operating Current 600 µA (typical)
Standby Current 0.7 µA (typical)
Measurement Wavelengths Red: 660 nm, Infrared: 880 nm
Communication Interface I²C
I²C Address 0x57 (default)
Operating Temperature Range -40°C to +85°C
Package Size 5.6 mm x 3.3 mm x 1.55 mm

Pin Configuration and Descriptions

The MAX30102 module has the following pin configuration:

Pin Name Pin Number Description
GND 1 Ground
VDD 2 Power supply for the internal circuitry (1.8V)
VLED 3 Power supply for the LEDs (3.3V to 5.5V)
SDA 4 I²C data line
SCL 5 I²C clock line
INT 6 Interrupt output (active low)

Usage Instructions

The MAX30102 is straightforward to use in a circuit, but proper configuration is essential for accurate measurements. Below are the steps and considerations for using the module:

Circuit Connection

  1. Power Supply: Connect the VDD pin to a 1.8V power source and the VLED pin to a 3.3V or 5V power source. Ensure a common ground connection between the module and the microcontroller.
  2. I²C Communication: Connect the SDA and SCL pins to the corresponding I²C pins on the microcontroller. Use pull-up resistors (typically 4.7 kΩ) on both lines if not already included in the module.
  3. Interrupt Pin: Optionally, connect the INT pin to a GPIO pin on the microcontroller to handle interrupts.

Arduino UNO Example Code

The following example demonstrates how to interface the MAX30102 with an Arduino UNO to read heart rate and SpO2 data. This code uses the SparkFun MAX3010x Library, which can be installed via the Arduino Library Manager.

#include <Wire.h>
#include "MAX30105.h" // Include the SparkFun MAX3010x library

MAX30105 particleSensor; // Create an instance of the MAX30105 class

void setup() {
  Serial.begin(9600); // Initialize serial communication at 9600 baud
  Serial.println("Initializing MAX30102...");

  // Initialize the MAX30102 sensor
  if (!particleSensor.begin()) {
    Serial.println("MAX30102 was not found. Please check wiring/power.");
    while (1); // Halt execution if the sensor is not detected
  }

  // Configure the sensor for heart rate and SpO2 measurement
  particleSensor.setup(); // Use default settings
  particleSensor.setPulseAmplitudeRed(0x0A); // Set red LED brightness
  particleSensor.setPulseAmplitudeIR(0x0A);  // Set IR LED brightness
}

void loop() {
  // Read raw data from the sensor
  long redValue = particleSensor.getRed(); // Red LED data
  long irValue = particleSensor.getIR();   // IR LED data

  // Print the raw data to the serial monitor
  Serial.print("Red: ");
  Serial.print(redValue);
  Serial.print(" IR: ");
  Serial.println(irValue);

  delay(100); // Delay for 100 ms before the next reading
}

Important Considerations

  • Power Supply: Ensure the correct voltage levels for VDD and VLED to avoid damaging the module.
  • Ambient Light: Minimize ambient light interference by enclosing the sensor in a dark environment or using it in low-light conditions.
  • Skin Contact: For accurate measurements, ensure the sensor is in direct contact with the skin.
  • I²C Address: The default I²C address is 0x57. If multiple MAX30102 modules are used, ensure each has a unique address.

Troubleshooting and FAQs

Common Issues

  1. Sensor Not Detected:

    • Cause: Incorrect wiring or power supply.
    • Solution: Verify all connections and ensure the correct voltage levels are supplied to VDD and VLED.
  2. Inaccurate Readings:

    • Cause: Poor skin contact or excessive ambient light.
    • Solution: Ensure the sensor is in direct contact with the skin and shield it from ambient light.
  3. I²C Communication Failure:

    • Cause: Missing pull-up resistors or incorrect I²C address.
    • Solution: Add 4.7 kΩ pull-up resistors to the SDA and SCL lines and verify the I²C address.

FAQs

Q: Can the MAX30102 measure SpO2 and heart rate simultaneously?
A: Yes, the MAX30102 can measure both SpO2 and heart rate simultaneously using its red and infrared LEDs.

Q: What is the maximum sampling rate of the MAX30102?
A: The MAX30102 supports a maximum sampling rate of 3200 samples per second.

Q: Is the MAX30102 suitable for continuous monitoring?
A: Yes, the MAX30102 is designed for low-power operation, making it suitable for continuous monitoring in wearable devices.

Q: Can the MAX30102 be used with a 5V microcontroller?
A: Yes, the MAX30102 can be used with a 5V microcontroller, but ensure proper voltage levels for VDD (1.8V) and VLED (3.3V to 5.5V). Use level shifters if necessary for I²C communication.