Measure Heart Rate and SpO2 With MAX30102 Using Arduino UNO
Measure Heart Rate and SpO2 With MAX30102 Using Arduino UNO
Abstract:
A digital pulse oximeter and heart rate sensor is an electronic
device which can measure the heart rate of a person by measuring the
difference between oxygen rich and oxygen less blood. Not only heart
rate, this device can also measure the concentration of oxygen in
blood. The MAX30102 is a popular sensor module used to measure
heart rate and SpO2 (blood oxygen saturation) levels .The steps to in-
terface the MAX30102 sensor with an Arduino UNO microcontroller
for heart rate and SpO2 measurements. The tutorial includes connect-
ing the MAX30102 sensor module to the Arduino UNO, installing the
MAX30105 library in the Arduino IDE, uploading the example code,
and observing the heart rate and SpO2 values in the Serial Monitor.
This information can be utilized for various health monitoring and fit-
ness tracking applications, with due consideration of the manufac-
turer's guidelines and consultation with a medical professional for ac-
curate medical measurements.
Introduction:
Interface MAX30102: pulse oximetry and heart rate monitor module
with Arduino UNO board, and then make a project for measuring
BPM using this module + OLED display and a Buzzer.
BPM are the "beats per minute" and they are around 65-75 while rest-
ing for a normal person, athletics may have lower than that, and the
SpO2 is the Oxygen saturation level, and for a normal person it's
above 95%.
Components:
Adafruit OLED 128x32
Buzzer
MAX30102 High-Sensitivity Pulse
Arduino UNO
The working of MAX30102 can be divided into two parts: Heart Rate
Measurement and Pulse Oximetry (measuring the oxygen level of the
blood).
Pulse Oximetry
Pulse oximetry is based on the principle that the amount of RED and
IR light absorbed varies depending on the amount of oxygen in your
blood. The following graph is the absorption-spectrum of oxygenated
hemoglobin (HbO2) and deoxygenated hemoglobin (Hb).
As you can see from the graph, deoxygenated blood absorbs more
RED light (660nm), while oxygenated blood absorbs more IR light
(880nm). By measuring the ratio of IR and RED light received by the
photodetector, the oxygen level (SpO2) in the blood is calculated.
Connect the SCL pin to the I2C clock pin and the SDA pin to the I2C
data pin on your Arduino. Note that each Arduino Board has different
I2C pins which should be connected accordingly. On the Arduino
boards with the R3 layout, the SDA (data line) and SCL (clock line)
are on the pin headers close to the AREF pin. They are also known as
A5 (SCL) and A4 (SDA).