The MAX30100 is an integrated pulse oximetry and heart-rate monitor sensor solution. It combines two LEDs, a photodetector, optimized optics, and low-noise analog signal processing to detect pulse rate and blood oxygen saturation levels (SpO2). This sensor is widely used in wearable health devices, fitness assistants, and medical monitoring devices.
Pin Number | Name | Description |
---|---|---|
1 | VIN | Supply voltage (1.8V to 3.3V) |
2 | SCL | I2C clock line |
3 | SDA | I2C data line |
4 | INT | Interrupt pin (active low) |
5 | RD | Red LED cathode |
6 | IRD | IR LED cathode |
7 | GND | Ground |
#include <Wire.h>
#include "MAX30100_PulseOximeter.h"
PulseOximeter pox;
uint32_t tsLastReport = 0;
void setup() {
Serial.begin(115200);
// Initialize the PulseOximeter instance
if (!pox.begin()) {
Serial.println("Failed to initialize the pulse oximeter!");
for(;;);
} else {
Serial.println("Pulse oximeter initialized.");
}
}
void loop() {
// Make sure to call update as fast as possible
pox.update();
if (millis() - tsLastReport > 1000) { // Report every 1 second
Serial.print("Heart rate:");
Serial.print(pox.getHeartRate());
Serial.print("bpm / SpO2:");
Serial.print(pox.getSpO2());
Serial.println("%");
tsLastReport = millis();
}
}
Note: This example assumes the use of a MAX30100 library, such as the one provided by SparkFun or similar. Make sure to install the library through the Arduino IDE before uploading the code.
FAQs:
Q: Can the MAX30100 be used on any part of the body?
Q: What is the I2C address of the MAX30100?
Q: How can I calibrate the MAX30100?
This documentation provides an overview of the MAX30100 sensor module, its usage, and troubleshooting tips. For more detailed information, refer to the datasheet provided by the manufacturer.