16.3mm
16.3mm
13.8mm
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.
MAX30100 Pulse Oximeter Heart Rate Sensor Module DocumentationOverviewThe 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.PinoutThe 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 ProtocolThe MAX30100 module communicates via I2C protocol, with a default address of 0x57.Software Libraries and ExamplesArduino ExampleTo 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) ExampleTo 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 = 0x57while 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) ExampleTo 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 = 0x57while 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.ImportantThe 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.