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 Pulse Oximeter by Generico is a compact, low-power sensor designed for non-invasive monitoring of blood oxygen levels (SpO2) and heart rate. It utilizes photoplethysmography (PPG) technology, combining an integrated red and infrared LED with a photodetector to measure changes in blood volume. This makes it ideal for wearable devices, fitness trackers, and medical monitoring systems.

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

  • Fitness and health monitoring devices
  • Wearable medical devices
  • Heart rate and SpO2 monitoring systems
  • IoT-based health tracking solutions
  • Research and development in biomedical engineering

Technical Specifications

The MAX30102 is designed for high performance and low power consumption, making it suitable for battery-powered applications. Below are its key specifications:

Parameter Value
Operating Voltage 1.8V (core) and 3.3V (I/O)
Supply Voltage Range 1.7V to 2.0V (core), 3.0V to 3.6V (I/O)
Operating Current 600 µA (typical)
Standby Current 0.7 µA
LED Wavelengths Red: 660 nm, Infrared: 880 nm
Communication Interface I2C (7-bit address: 0x57)
Sampling Rate Programmable (up to 1000 Hz)
Operating Temperature -40°C to +85°C
Package 14-pin optical module

Pin Configuration and Descriptions

The MAX30102 has 14 pins, as detailed in the table below:

Pin Number Pin Name Description
1 GND Ground connection
2 SDA I2C data line
3 SCL I2C clock line
4 INT Interrupt output (active low)
5 VDD Power supply for I/O (3.3V)
6 VDDIO Power supply for core (1.8V)
7 NC No connection
8 NC No connection
9 LED1 Red LED cathode
10 LED2 Infrared LED cathode
11 NC No connection
12 NC No connection
13 NC No connection
14 GND Ground connection

Usage Instructions

How to Use the MAX30102 in a Circuit

  1. Power Supply: Connect the VDD pin to a 3.3V power source and the VDDIO pin to a 1.8V power source. Ensure proper decoupling capacitors are used to stabilize the power supply.
  2. I2C Communication: Connect the SDA and SCL pins to the corresponding I2C pins of your microcontroller. Use pull-up resistors (typically 4.7 kΩ) on both lines.
  3. Interrupt Pin: The INT pin can be connected to a GPIO pin on the microcontroller to handle interrupts for data-ready signals.
  4. LED Connections: The LED1 and LED2 pins are internally connected to the red and infrared LEDs, respectively. No external connections are required for these pins.
  5. Ground: Connect all GND pins to the ground of your circuit.

Important Considerations

  • Power Supply: Ensure the correct voltage levels for VDD and VDDIO to avoid damaging the sensor.
  • I2C Address: The default I2C address of the MAX30102 is 0x57. Ensure no other devices on the I2C bus share this address.
  • Sampling Rate: Configure the sampling rate based on your application requirements to optimize power consumption and performance.
  • Placement: For accurate readings, ensure the sensor is in direct contact with the skin and avoid ambient light interference.

Example Code for Arduino UNO

Below is an example of how to interface the MAX30102 with an Arduino UNO to read heart rate and SpO2 data:

#include <Wire.h>
#include "MAX30102.h" // Include the MAX30102 library

MAX30102 sensor; // Create an instance of the MAX30102 class

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

  // Initialize the MAX30102 sensor
  if (sensor.begin() == false) {
    Serial.println("MAX30102 not detected. Check connections.");
    while (1); // Halt execution if the sensor is not detected
  }

  Serial.println("MAX30102 initialized successfully.");
}

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

  // Read data from the sensor
  if (sensor.check() == true) {
    heartRate = sensor.getHeartRate(); // Get heart rate
    spo2 = sensor.getSpO2();          // Get SpO2 level

    // Print the results to the serial monitor
    Serial.print("Heart Rate: ");
    Serial.print(heartRate);
    Serial.print(" bpm, SpO2: ");
    Serial.print(spo2);
    Serial.println(" %");
  } else {
    Serial.println("No data available. Ensure proper contact with the sensor.");
  }

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

Troubleshooting and FAQs

Common Issues

  1. Sensor Not Detected:

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

    • Cause: Poor contact with the skin or ambient light interference.
    • Solution: Ensure the sensor is securely placed on the skin and shielded from external light.
  3. No Data Output:

    • Cause: Improper initialization or power supply issues.
    • Solution: Check the power supply voltages and ensure the sensor is initialized correctly in the code.

FAQs

  1. Can the MAX30102 be used with a 5V microcontroller?

    • Yes, but you must use a level shifter for the I2C lines to avoid damaging the sensor.
  2. What is the maximum sampling rate of the MAX30102?

    • The sensor supports a programmable sampling rate of up to 1000 Hz.
  3. How do I reduce power consumption?

    • Use the standby mode when the sensor is not in use and optimize the sampling rate for your application.
  4. Can the MAX30102 measure SpO2 in real-time?

    • Yes, the sensor is capable of real-time SpO2 and heart rate monitoring when properly configured.