Maxim Integrated is a manufacturing company of electronic components that designs, creates, and sells different analog as well as mixed-signal ICs to use in different fields like industrial computing markets, automotive, consumer, communications, etc. The product collection of Maxim’s mainly includes sensors, digital ICs, analog ICs, communication solutions, power & battery management integrated circuits, interface ICs, digital ICs, microcontrollers, etc. This company invented MAX30100 Pulse Oximeter Sensor IC for checking the health condition of a person that affects the levels of oxygen in the blood. This article discusses an overview of the MAX30100 pulse oximeter sensor–pin configuration, specifications, and applications.
What is MAX30100 Pulse Oximeter Sensor?
The MAX30100 pulse oximetry & heart- rate monitor sensor is a low-power, I2C-based plug & play biometric sensor for detecting pulse oximetry & heart-rate signals. This sensor includes two LEDs like RED & IR LED, a photodetector, modifiable optics & low noise signal processor to detect heart pulse rate signals. On the right side of this sensor, two LEDs are available whereas on the left side, it has a sensitive photodetector. This sensor is used in various medical & industrial equipment like fitness measurement devices, wearable instruments & medical devices.
This sensor module configuration can be done through software registers & this module’s output data is simply stored within 16 FIFOs on this module. This pulse oximeter sensor communicates with different microcontrollers through the I2C interface. In this sensor module, the pulse measurement system includes a 16-bit ADC, a time filter & cancellation of ambient light.
MAX30100 sensor Working
For the measurements of oxygen concentration as well as heart pulse rate, first, this sensor needs to wear on your finger or earlobe or it can be worn on any part of the thin body. Once this sensor is worn on your finger then both IR & red light from LEDs passes throughout the finger tissues, these light absorption can be measured through a photodiode.
Based on the oxygen quantity you have within your blood, the ratio of red light absorbed & IR light will be different. So by this light ratio, we can calculate the level of oxygen easily within the hemoglobin of your blood.
Pin Configuration:
The pin configuration of the MAX30100 pulse oximeter sensor is shown below. This sensor includes pins and each pin is discussed below.
- Pin1 (VIN): This pin provides a power supply to the sensor.
- Pin2 (SCL): This pin is the I2C serial CLK pin.
- Pin3 (SDA): This pin is the I2C serial data pin.
- Pin4 (INT): This is an interrupt pin that is pulled HIGH through the onboard resistor although when an interrupt takes place, it goes LOW until it clears.
- Pin5 (IRD): It is an infrared LED cathode & also a connection point of the LED Driver.
- Pin6 (RD): It is a Red LED cathode & connection point of the LED driver.
- Pin7 (GND): This is a ground pin and it is connected to the source GND pin.
Features & Specifications:
The features and specifications of the MAX30100 pulse oximeter sensor include the following.
- This module has a very low power operation that uses 600μA in measurement mode & 0.7μA in standby mode. So it can be used in smartwatches.
- It includes 14 pins.
- MSL or moisture sensitivity level is 168 hrs.
- The type of sensor is heart rate or oximeter.
- RoHS status is ROHS3 compliant.
- The type of mount is surface mount
- The type of packaging is Tray
- The type of output is analog.
- This module has maximum sample rate capacity with quick data output.
- This sensor has an ambient light cancellation feature.
- This module has an on-chip temperature sensor to provide die temperature ranges from -40˚C to +85˚C.
- This sensor uses I2C pins like SDA & SCL to communicate with microcontrollers.
- This sensor utilizes a 16-sample FIFO buffer for data storage. So it decreases power utilization because it already holds the highest of 16 heart rate & SPO2 values.
- This module can be used by interrupts which allows numerous sources like SPO2 data ready, power ready, temperature ready, and almost full of FIFO & heart rate data ready.
- Its operating voltage ranges from 1.8V to 3.3V.
- The input current is 20mA.
- Temperature ranges from -40˚C to +85˚C.
- The accuracy of temperature is ±1˚C.
- ADC resolution is 14 bits.
- Infrared LED peak wavelength ranges from 870 to 900nm.
- The peak wavelength of Red LED ranges from 650 to 670nm.
- It is included with ambient light cancellation.
- It has a high sample rate capacity.
- It has a very quick data output capacity.
Alternative and Equivalent Sensors
The alternative MAX30100 pulse oximeter sensors are; FSH 7060, Pulse 3+, ROHM BH1792GLC, and Proto Central AFE4490. The equivalent MAX30100 pulse oximeter sensor is MAX30102.
MAX30100 Pulse Oximeter Sensor Interfacing with Arduino Uno
The interfacing of the MAX30100 pulse oximeter sensor with the Arduino Uno board is shown below. This interfacing displays the levels of oxygen in blood on a serial monitor. The required components for this interfacing mainly include the Arduino Uno board, MAX30100 pulse oximeter sensor, and connecting wires.
Now connect the above-mentioned components according to the interfacing diagram shown below. The connections of this interfacing follow as;
- Connect the SDA & SCL pins of the pulse oximeter sensor to the Arduino Uno board’s A4 & A5 pins respectively.
- The sensor’s Vin & GND pins are connected to the GND & 3v3/5V pins of the Arduino board respectively.
Here, this interfacing not only functions for Arduino UNO but also functions for Arduino Nano, Arduino pro mini & Arduino Mega. Once the connections are made, give the power supply to the Arduino board by connecting it to the PC where Arduino IDE is installed. Now upload the below code into the Arduino IDE & choose the proper COM port & Board, then click the upload button for uploading this code. To work this code properly, you need the Arduino library which can be downloaded and installed for free.
Code
#include <Wire.h>
#include “MAX30100_PulseOximeter.h” //library initialization
#define REPORTING_PERIOD_MS 1000 //update frequency 1000ms
PulseOximeter pox;
uint32_t tsLastReport = 0;
void onBeatDetected()
{
Serial.println(“Beat!”);
}
void setup()
{
Serial.begin(115200);
Serial.print(“Initializing pulse oximeter..”);
// Initialize the PulseOximeter instance
// Failures are generally due to an improper I2C wiring, missing power supply
// or wrong target chip
if (!pox.begin()) {
Serial.println(“FAILED”);
for(;;);
}
else
{
Serial.println(“SUCCESS”);
}
pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
// Register a callback for the beat detection
pox.setOnBeatDetectedCallback(onBeatDetected);
}
void loop()
{
// Make sure to call update as fast as possible
pox.update();
if (millis() – tsLastReport > REPORTING_PERIOD_MS) {
Serial.print(“Heart rate:”);
Serial.print(pox.getHeartRate());
Serial.print(“bpm / SpO2:”);
Serial.print(pox.getSpO2());
Serial.println(“%”);
tsLastReport = millis();
}
}
Once the above code is uploaded then open the serial monitor & set the 115200 baud rate to obtain the values of heart rate & blood SpO2 on the serial monitor.
Advantages & Disadvantages
The advantages of the MAX30100 pulse oximeter sensor include the following.
- The very low-power operation will enhance the life of the battery for wearable devices.
- Advanced functionality will enhance the performance of measurement, high SNR will provide strong motion artifact resilience.
- It has a high sample rate capacity and quick data output capability.
- It is incorporated with ambient light cancellation.
- Maximum sample rate capacity.
- It has quick data output.
The disadvantages of the MAX30100 pulse oximeter sensor include the following.
- If the fingers are not positioned correctly then it provides wrong readings.
- Ambient light dropping on this sensor will affect the last reading.
- The sensor should not press forcefully, because this will affect the flow of blood & provides wrong readings.
MAX30100 Pulse Oximeter Sensor Applications
The uses or applications of the MAX30100 pulse oximeter sensor include the following.
- MAX30100 pulse oximeter sensor monitors the heart rate.
- This sensor can also be used as a pulse oximeter. So, this is a heart rate monitoring sensor with a pulse oximeter.
- This sensor is used for multipurpose in various applications.
- It is used in medical oxygen measurement-based devices.
- This sensor is used in wearable devices.
- It is used in assistant fitness systems.
- This sensor is mainly used to check the person’s health in any situation that changes oxygen levels of blood like a failure of heart, heart attack, asthma, lung cancer, etc.
1). Can the MAX30100 sensor be used for continuous monitoring of oxygen saturation and heart rate?
Yes, the MAX30100 sensor can be used for continuous monitoring of oxygen saturation and heart rate. It provides real-time data that can be sampled at regular intervals to monitor a person’s vital signs over time.
2). What is the typical power consumption of the MAX30100 sensor?
The power consumption of the MAX30100 sensor is relatively low, making it suitable for battery-powered applications. The exact power consumption may depend on various factors, such as operating conditions and sampling rate.
3). Are there any limitations or factors that may affect the performance of the MAX30100 pulse oximeter sensor?
Yes, there are a few factors that can affect the performance of the MAX30100 sensor. These include ambient light interference, proper sensor placement and contact with the skin, motion artifacts, and sensor calibration. It is important to follow the manufacturer’s guidelines and best practices to achieve optimal results.
4 ). Are there any programming libraries or example codes available for the MAX30100 sensor?
Yes, there are programming libraries and example codes available for the MAX30100 sensor. These libraries provide functions and methods to easily interface with the sensor and retrieve the required measurements. You can often find these resources in the manufacturer’s documentation or online developer communities.
5). Can the MAX30100 sensor be used for medical purposes or is it intended for research and prototyping only?
The MAX30100 sensor is primarily designed for research, prototyping, and non-medical applications. While it can provide useful insights into blood oxygen saturation and heart rate, it may not meet the stringent regulatory requirements for medical-grade devices. For medical purposes, it is recommended to use certified medical devices.
6). Are there any specific guidelines or considerations for using the MAX30100 sensor in different environments or on different body parts?
Yes, there are certain guidelines and considerations for using the MAX30100 sensor. These include proper sensor placement on a well-perfused area, minimizing ambient light interference, ensuring good contact between the sensor and the skin, and accounting for potential motion artifacts. The manufacturer’s documentation should provide more detailed guidelines.
7). Is the MAX30100 sensor suitable for wearable devices or other portable applications?
Yes, the MAX30100 sensor is suitable for wearable devices and other portable applications. Its small form factor and low power consumption make it an ideal choice for integrating into wearable health monitoring devices, fitness trackers, and other portable healthcare applications.
8). What is the recommended sampling rate for the MAX30100 sensor?
The recommended sampling rate for the MAX30100 sensor may vary depending on the specific application and desired level of accuracy. It is typically in the range of several samples per second. However, it is important to consider the trade-off between sampling rate, power consumption, and the desired level of temporal resolution for your application.
9). Can the MAX30100 sensor detect other physiological parameters apart from oxygen saturation and heart rate?
The MAX30100 sensor is primarily designed for measuring oxygen saturation and heart rate. However, the raw PPG signal from the sensor can provide additional information that can be used to estimate other parameters such as respiration rate, blood pressure changes, or even detect certain types of motion.
10). Are there any alternative sensors or technologies that can be used instead of the MAX30100 for pulse oximetry?
Yes, there are several alternative sensors and technologies available for pulse oximetry. Some commonly used alternatives include other integrated pulse oximeter modules, optical sensors based on different principles, or even dedicated medical-grade pulse oximeters. The choice of the sensor depends on the specific requirements and constraints of your application.
Please refer to this link for the MAX30100 pulse oximeter sensor datasheet.
Thus, this is all about an overview of the MAX30100 pulse oximeter sensor – pinout, features, specifications, working, and interfacing with Arduino & its applications. Here is a question for you, what is a pulse sensor?