Stufin
Home Quick Cart Profile

MAX30100 Pulse Oximeter Heart Rate Sensor Module

Buy Now on Stufin

Length

16.3mm

Width

13.8mm

Height

2.5mm

Conclusion

The MAX30100 Pulse Oximeter Heart Rate Sensor Module provides a compact, low-power, and high-performance solution for pulse oximetry and heart rate monitoring. Its advanced algorithms, low noise, and high accuracy make it an ideal choice for a wide range of applications, from wearables and healthcare devices to IoT projects and medical devices.

Pin Configuration

  • MAX30100 Pulse Oximeter Heart Rate Sensor Module Pinout Explanation
  • The MAX30100 Pulse Oximeter Heart Rate Sensor Module is a compact, low-power, and high-performance module designed for measuring heart rate and oxygen saturation levels. The module features a 5-pin interface, which is explained below:
  • Pinout Structure:
  • | Pin # | Pin Name | Function | Description |
  • | --- | --- | --- | --- |
  • | 1 | VCC | Power Supply | Connect to 3.3V or 5V power supply |
  • | 2 | GND | Ground | Connect to Ground (0V) |
  • | 3 | SCL | I2C Clock | Connect to I2C Clock line (typically SCL on microcontrollers) |
  • | 4 | SDA | I2C Data | Connect to I2C Data line (typically SDA on microcontrollers) |
  • | 5 | INT | Interrupt | Optional interrupt output, active-low (connect to interrupt pin on microcontroller if required) |
  • Pin-by-Pin Explanation:
  • 1. VCC (Pin 1):
  • Function: Power Supply
  • Description: This pin is used to supply power to the module. It can be connected to either a 3.3V or 5V power supply, depending on the application.
  • 2. GND (Pin 2):
  • Function: Ground
  • Description: This pin is connected to the ground plane of the circuit, providing a return path for the power supply and signal lines.
  • 3. SCL (Pin 3):
  • Function: I2C Clock
  • Description: This pin is the clock input for the I2C interface. It is connected to the clock line of the microcontroller's I2C bus.
  • 4. SDA (Pin 4):
  • Function: I2C Data
  • Description: This pin is the data input/output for the I2C interface. It is connected to the data line of the microcontroller's I2C bus.
  • 5. INT (Pin 5):
  • Function: Interrupt
  • Description: This pin is an optional interrupt output, active-low. It can be connected to an interrupt pin on the microcontroller to generate an interrupt when new data is available from the sensor module.
  • Connection Guidelines:
  • Connect VCC to a 3.3V or 5V power supply, depending on the application.
  • Connect GND to the ground plane of the circuit.
  • Connect SCL to the I2C clock line on the microcontroller.
  • Connect SDA to the I2C data line on the microcontroller.
  • Optional: Connect INT to an interrupt pin on the microcontroller if desired.
  • When connecting the pins, ensure that the module is properly powered and grounded, and that the I2C interface is correctly connected to the microcontroller. Proper connection and configuration of the pins are crucial for reliable and accurate data acquisition from the MAX30100 Pulse Oximeter Heart Rate Sensor Module.

Code Examples

MAX30100 Pulse Oximeter Heart Rate Sensor Module Documentation
Overview
The MAX30100 is a pulse oximeter and heart rate sensor module that measures oxygen saturation (SpO2) and heart rate (HR) in real-time. This module is based on the MAX30100 IC from Maxim Integrated, which integrates two LEDs, photodetectors, and analog-to-digital converters to measure the absorption of light by oxygenated and deoxygenated hemoglobin in blood.
Pinout
The MAX30100 module typically has the following pinout:
| Pin | Function |
| --- | --- |
| VCC | Power supply (3.3V - 5V) |
| GND | Ground |
| SCL | I2C Clock |
| SDA | I2C Data |
| INT | Interrupt (optional) |
Communication Protocol
The MAX30100 module communicates via I2C protocol, with a default address of 0x57.
Software Libraries and Examples
Arduino Example
To use the MAX30100 module with an Arduino board, you can use the `MAX30100` library. Here's an example code snippet:
```c
#include <Wire.h>
#include <MAX30100.h>
MAX30100 sensor;
void setup() {
  Serial.begin(9600);
  Wire.begin();
  sensor.begin();
}
void loop() {
  sensor.update();
  Serial.print("Heart Rate: ");
  Serial.print(sensor.getHeartRate());
  Serial.print(" bpm, SpO2: ");
  Serial.print(sensor.getSpO2());
  Serial.println(" %");
  delay(1000);
}
```
Raspberry Pi (Python) Example
To use the MAX30100 module with a Raspberry Pi board, you can use the `smbus` and `time` libraries. Here's an example code snippet:
```python
import smbus
import time
# I2C bus and address
bus = smbus.SMBus(1)
address = 0x57
while True:
    # Read heart rate and SpO2 data
    data = bus.read_i2c_block_data(address, 0x00, 4)
    heart_rate = (data[0] << 8) + data[1]
    spo2 = (data[2] << 8) + data[3]
print("Heart Rate: {} bpm, SpO2: {} %".format(heart_rate, spo2))
    time.sleep(1)
```
 ESP32 (MicroPython) Example
To use the MAX30100 module with an ESP32 board, you can use the `machine` and `i2c` libraries. Here's an example code snippet:
```python
import machine
import i2c
# I2C bus and address
i2c_bus = i2c.I2C(scl=machine.Pin(22), sda=machine.Pin(21))
address = 0x57
while True:
    # Read heart rate and SpO2 data
    data = i2c_bus.readfrom_mem(address, 0x00, 4)
    heart_rate = (data[0] << 8) + data[1]
    spo2 = (data[2] << 8) + data[3]
print("Heart Rate: {} bpm, SpO2: {} %".format(heart_rate, spo2))
    time.sleep(1)
```
Note: In all examples, you need to connect the MAX30100 module to the I2C bus of your microcontroller board and ensure the correct pin connections.
Important
The MAX30100 module requires a stable power supply and proper grounding to function accurately.
 Ensure that the module is connected to a reliable power source and that the I2C bus is properly configured.
 The module may require calibration for accurate readings; refer to the datasheet for calibration procedures.
By following this documentation and examples, you can successfully integrate the MAX30100 Pulse Oximeter Heart Rate Sensor Module into your IoT projects for accurate and reliable heart rate and SpO2 measurements.