Stufin
Home Quick Cart Profile

MAX30100 Pulse Oximeter Heart Rate Sensor Module (Pack of 25)

Buy Now on Stufin

Component Name

MAX30100 Pulse Oximeter Heart Rate Sensor Module

Overview

The MAX30100 Pulse Oximeter Heart Rate Sensor Module is a compact, low-power, and high-performance sensor module designed for measuring heart rate and oxygen saturation levels in real-time. This module is based on the MAX30100 integrated circuit, a highly sensitive and accurate pulse oximeter sensor from Maxim Integrated. The module is available in a pack of 25 units, making it an ideal choice for a wide range of applications, from wearable devices to medical equipment.

Functionality

The MAX30100 Pulse Oximeter Heart Rate Sensor Module is designed to measure the following physiological parameters
Heart Rate (HR)The module detects the pulse rate of an individual, providing accurate measurements in beats per minute (bpm).
Oxygen Saturation (SpO2)The module measures the percentage of oxygen bound to hemoglobin in the blood, providing valuable insights into respiratory and circulatory health.

The module uses a combination of photoplethysmography (PPG) and electro-optical sensing technologies to detect changes in blood flow and oxygenation levels. The MAX30100 IC is a highly sensitive and accurate sensor that uses a proprietary algorithm to process the raw data and provide reliable and consistent measurements.

Key Features

  • High Accuracy: The MAX30100 Pulse Oximeter Heart Rate Sensor Module is designed to provide highly accurate measurements, with a typical accuracy of 2 bpm for heart rate and 2% for oxygen saturation.
  • Low Power Consumption: The module operates at a low power consumption of 0.7 mA (typical) in active mode, making it suitable for battery-powered devices and wearable applications.
  • Compact Design: The module measures only 13 mm x 13 mm, making it an ideal choice for compact and portable devices.
  • Easy Integration: The module is easy to integrate into various applications, with a simple I2C interface for communication and a 3.3V power supply.
  • Operating Temperature Range: The module operates within a temperature range of -40C to 85C, making it suitable for a wide range of environments.
  • High Sampling Rate: The module can sample data at a rate of up to 200 samples per second, providing a high-resolution representation of heart rate and oxygen saturation levels.
  • Built-in FIFO: The module features a built-in FIFO (First-In-First-Out) buffer that stores up to 32 samples of data, allowing for efficient data transmission and reducing the load on the host microcontroller.
  • LED Indicators: The module features integrated LED indicators that provide visual feedback for heart rate and oxygen saturation measurements.

Applications

The MAX30100 Pulse Oximeter Heart Rate Sensor Module is suitable for a wide range of applications, including

Wearable devices, such as smartwatches and fitness trackers

Medical devices, such as pulse oximeters and patient monitoring systems

Health and fitness monitoring systems

Sports and athletic performance tracking

Internet of Things (IoT) applications, such as remote health monitoring and wearable sensors

Package Contents

The pack of 25 MAX30100 Pulse Oximeter Heart Rate Sensor Modules includes

25 x MAX30100 Pulse Oximeter Heart Rate Sensor Modules

1 x Datasheet and user manual

Ordering Information

When ordering the MAX30100 Pulse Oximeter Heart Rate Sensor Module, please specify the following

Quantity

25 units per pack

Part Number

[Insert part number]

Warranty and Support

The MAX30100 Pulse Oximeter Heart Rate Sensor Module is backed by a 1-year limited warranty. Technical support and documentation are available through the manufacturer's website and support team.

Pin Configuration

  • MAX30100 Pulse Oximeter Heart Rate Sensor Module Pinout Explanation
  • The MAX30100 Pulse Oximeter Heart Rate Sensor Module is a popular IoT component used for measuring heart rate and oxygen saturation levels. It features a compact design and is ideal for wearable devices, fitness trackers, and health monitoring systems. Here's a detailed explanation of each pin on the module:
  • Pinout Structure:
  • The MAX30100 module has a total of 6 pins, arranged in a single row of 6-pin header.
  • Pin 1: VCC (Power Supply)
  • Function: Power supply pin
  • Description: This pin should be connected to a stable 1.8V to 3.3V power supply. The module's internal circuitry operates on this voltage.
  • Connection: Connect to a power source (e.g., a battery or a voltage regulator output) that meets the voltage requirement.
  • Pin 2: GND (Ground)
  • Function: Ground pin
  • Description: This pin is the reference point for the module's circuitry and should be connected to the system's ground.
  • Connection: Connect to the system's ground (GND) or 0V point.
  • Pin 3: SCL (I2C Clock)
  • Function: I2C clock signal
  • Description: This pin is used for the I2C interface clock signal. It should be connected to the I2C bus clock signal from a microcontroller or other I2C devices.
  • Connection: Connect to the SCL pin of the I2C bus on your microcontroller or other I2C devices.
  • Pin 4: SDA (I2C Data)
  • Function: I2C data signal
  • Description: This pin is used for the I2C interface data signal. It should be connected to the I2C bus data signal from a microcontroller or other I2C devices.
  • Connection: Connect to the SDA pin of the I2C bus on your microcontroller or other I2C devices.
  • Pin 5: INT (Interrupt)
  • Function: Interrupt output
  • Description: This pin is an active-low interrupt output that signals when new data is available from the sensor.
  • Connection: Connect to an interrupt-capable pin on your microcontroller to receive interrupt notifications.
  • Pin 6: RDY (Ready)
  • Function: Ready output
  • Description: This pin is an active-high output that indicates when the sensor is ready to output data.
  • Connection: Connect to a digital input pin on your microcontroller to monitor the sensor's ready status.
  • Connecting the Pins:
  • To connect the MAX30100 module to your microcontroller or other devices, follow these steps:
  • 1. Connect VCC (Pin 1) to a stable 1.8V to 3.3V power supply.
  • 2. Connect GND (Pin 2) to the system's ground (GND) or 0V point.
  • 3. Connect SCL (Pin 3) to the I2C bus clock signal (SCL) on your microcontroller or other I2C devices.
  • 4. Connect SDA (Pin 4) to the I2C bus data signal (SDA) on your microcontroller or other I2C devices.
  • 5. Connect INT (Pin 5) to an interrupt-capable pin on your microcontroller to receive interrupt notifications.
  • 6. Connect RDY (Pin 6) to a digital input pin on your microcontroller to monitor the sensor's ready status.
  • Ensure that the module is properly connected to your system before programming and using the MAX30100 Pulse Oximeter Heart Rate Sensor Module.

Code Examples

MAX30100 Pulse Oximeter Heart Rate Sensor Module Documentation
Overview
The MAX30100 Pulse Oximeter Heart Rate Sensor Module is a highly integrated, low-power, and small-size sensor module designed for pulse oximetry and heart rate monitoring applications. This module is based on the MAX30100 IC, which combines two LEDs, photodetectors, and low-noise electronics with ambient light cancellation to provide accurate and reliable measurements.
Pinout and Connection
The MAX30100 Pulse Oximeter Heart Rate Sensor Module has a 5-pin interface:
| Pin | Function |
| --- | --- |
| VCC | Power supply (3.3V or 5V) |
| GND | Ground |
| SCL | I2C clock pin |
| SDA | I2C data pin |
| INT | Interrupt pin (optional) |
I2C Communication
The MAX30100 module communicates with a microcontroller or host device via the I2C protocol. The I2C address of the module is 0x57.
Register Map
The MAX30100 has several registers that can be accessed via I2C:
| Register Address | Register Name | Description |
| --- | --- | --- |
| 0x00 | MODE_STAT | Mode and status register |
| 0x01 | IR_LED_CURRENT | IR LED current control register |
| 0x02 | LED_PULSE_AMPLITUDE | LED pulse amplitude control register |
| 0x03 | MULTI_LED_MODE_CONTROL | Multi-LED mode control register |
| 0x04 | SLOT_SET | Slot setting register |
| 0x05 | LED_PULSE_WIDTH | LED pulse width control register |
Code Examples
### Example 1: Read Heart Rate and Oxygen Saturation using Arduino
This example demonstrates how to read heart rate and oxygen saturation data from the MAX30100 module using an Arduino board.
```cpp
#include <Wire.h>
#define MAX30100_ADDRESS 0x57
void setup() {
  Serial.begin(9600);
  Wire.begin();
}
void loop() {
  byte heartRate;
  byte spo2;
// Read heart rate and oxygen saturation data
  Wire.beginTransmission(MAX30100_ADDRESS);
  Wire.write(0x00); // MODE_STAT register
  Wire.endTransmission(false);
  Wire.requestFrom(MAX30100_ADDRESS, 2);
  heartRate = Wire.read();
  spo2 = Wire.read();
// Print heart rate and oxygen saturation data
  Serial.print("Heart Rate: ");
  Serial.print(heartRate);
  Serial.println(" bpm");
  Serial.print("Oxygen Saturation: ");
  Serial.print(spo2);
  Serial.println(" %");
  Serial.println();
delay(1000);
}
```
### Example 2: Read Raw Data using Raspberry Pi (Python)
This example demonstrates how to read raw data from the MAX30100 module using a Raspberry Pi and Python.
```python
import smbus
import time
# Initialize I2C bus
bus = smbus.SMBus(1)
# MAX30100 I2C address
max30100_address = 0x57
while True:
  # Read raw data (6 bytes)
  raw_data = bus.read_i2c_block_data(max30100_address, 0x04, 6)
# Print raw data
  print("Raw Data: ", end="")
  for byte in raw_data:
    print(f"{byte:02x} ", end="")
  print()
time.sleep(0.1)
```
### Example 3: Interrupt-based Heart Rate Monitoring using ESP32 (C++)
This example demonstrates how to use the interrupt pin of the MAX30100 module to detect new heart rate data and read it using an ESP32 board.
```cpp
#include <WiFi.h>
#include <Wire.h>
#define MAX30100_ADDRESS 0x57
#define INTERRUPT_PIN 2
volatile bool newDataAvailable = false;
void IRAM_ATTR handleInterrupt() {
  newDataAvailable = true;
}
void setup() {
  Serial.begin(9600);
  Wire.begin();
  pinMode(INTERRUPT_PIN, INPUT);
  attachInterrupt(INTERRUPT_PIN, handleInterrupt, RISING);
}
void loop() {
  if (newDataAvailable) {
    byte heartRate;
// Read heart rate data
    Wire.beginTransmission(MAX30100_ADDRESS);
    Wire.write(0x00); // MODE_STAT register
    Wire.endTransmission(false);
    Wire.requestFrom(MAX30100_ADDRESS, 1);
    heartRate = Wire.read();
// Print heart rate data
    Serial.print("Heart Rate: ");
    Serial.print(heartRate);
    Serial.println(" bpm");
newDataAvailable = false;
  }
  delay(10);
}
```
These code examples demonstrate the basic usage of the MAX30100 Pulse Oximeter Heart Rate Sensor Module in various contexts. You can modify and expand on these examples to suit your specific application requirements.