Pulse Oximeter Using Arduino
Pulse Oximeter Using Arduino
Arduino
“Design and development of pulse oximeter”
SUBJECT : Physiology
UNIVERSITY: Mehran
University of Engineering and Presented by :
Technology 23bm041 [Areesha]
23bm042 [Ayat]
DEPARTMENT: Biomedical 23bm012 [Areej ]
Engineering. 23bm024 [Alishba ]
INTRODUCTION:
• "A pulse oximeter is a non-invasive medical device that measures the oxygen saturation level
(Sp02) by shining light through the Skin and detect how much Oxygen is in the Blood.”
• Why is it Important?
• "Monitoring oxygen saturation is crucial in detecting conditions like hypoxia, which can be
life-threatening. Pulse oximeters are used in hospitals, clinics, and even at home to monitor
patients with respiratory conditions, during surgery, or in emergencies."
OBJECTIVE:
• To design and build a pulse oximeter using the MAX30100 sensor, Arduino Nano, and a display to measure
oxygen saturation and pulse rate.
• The project aims to provide a compact, affordable, and functional prototype of a pulse oximeter.
Requirements (Components):
1. MAX30100 (Pulse Oximeter Sensor) : A sensor used to measure both oxygen saturation (Sp02) and pulse
rate (heart rate). It uses a combination of light emitters and detectors to estimate the levels of oxygen in the
blood.
2. Arduino Nano : A compact microcontroller board based on the ATmega328. It processes data from the
sensor and drives the output to the display. The Nano is ideal for small-scale projects due to its size and
versatility.
3. 0.96" OLED Display : A small, clear display used to show the pulse rate and oxygen saturation levels. It's
efficient and can easily fit within compact devices.
4. 4.7 kg Resistors : These resistors control the current flow in the circuit, ensuring that components like the
sensor and display receive the correct amount of power.
5. Breadboard : A platform used to build and test the circuit without soldering. It allows easy modifications
and connections between components.
• THEORY:
• Pulse Oximeter Working
Principle:
• A pulse oximeter is a non-invasive
device used to measure the oxygen
saturation (SpO2) level in the blood.
It works based on the principle of
photoplethysmography (PPG),
which measures the changes in
blood volume in the tissues using
light.
• Two types of light-red light
(around 660 nm) and infrared light
(around 940 nm)-are emitted by the
sensor, and their absorption by
oxygenated and deoxygenated
hemoglobin is measured.
Key Concepts:
In this project, the MAX30100 sensor is used to emit light and detect the
absorption levels, which the Arduino Nano processes to calculate the SpO2 and
display it on the LED screen.
TYPES OF OXIMETER:
2. Signal Processing:
• The Arduino Nano receives raw data from the MAX30100 sensor,
processes it using an algorithm, and computes the oxygen saturation
and pulse rate.
3. Display Output:
• The calculated values are then displayed on the OLED screen in real-
time, showing both SpO and pulse rate.
PROCEDURE:
• Connections:
• 1. MAX30100 to Arduino Nano:
• VIN (Power Input) of MAX30100 connects to 5V on the Arduino Nano.
• GND of MAX30100 connects to GND on the Arduino Nano.
• SCL (Clock) of MAX30100 connects to A5 (Analog Pin 5) on the Arduino
Nano.
• SDA (Data) of MAX30100 connects to A4 (Analog Pin 4) on the Arduino
Nano.
• Two 4.7kΩ resistors are used as pull-up resistors on the SCL and SDA
lines to ensure proper I2C communication.
2. OLED Display to Arduino Nano:
VCC (Power Input) of the OLED display connects to 5V on the Arduino Nano.
SCL (Clock) of the OLED display connects to A5 (Analog Pin 5) on the Arduino Nano.
SDA (Data) of the OLED display connects to A4 (Analog Pin 4) on the Arduino Nano.
12C Communication:
Both the MAX30100 sensor and theOLED display are using the same 12C communication pins (A4 for SDA
andA5 for SCL). The 2C bus allows multiple devices to share the same communication lines while using
different device addresses.
Power:
The entire circuit is powered through the Arduino Nano, which is supplied with 5V. The MAX30100 and OLED
display are both powered from the 5V line on the Arduino.
This setup allows the MAX30100 sensor to gather pulse oximetry data, which is processed by the Arduino
Nano and displayed on the OLED screen.
Results:
• The device should display a stable and accurate SpO2, and pulse rate, and it should respond
quickly to changes in oxygen levels or pulse rate during testing.• Any deviations from expected
values could indicate potential improvements in calibration or the need for more precise
components.
Conclusion:
• The pulse oximeter is an essential tool in modern healthcare for non-invasive monitoring of
oxygen saturation and heart rate.
• Through the integration of components like the MAX30100 sensor and Arduino Nano, we were
able to design a functional pulse oximeter that provides accurate, real-time data.• This project
demonstrates the potential for biomedical technology to improve patient care by offering
continuous and accessible monitoring options.
• Future improvements could involve enhancing the device's accuracy and portability, making it
even more reliable and user-friendly.
APPLICATION:
1. Respiratory Monitoring: Tracks oxygen levels conditions like COPD, asthma, and
pneumonia.
2. COVID-19: Monitors blood oxygen for early detection of silent hypoxia.
10. Heart Conditions: Monitors oxygen in patients with chronic heart diseases.
11. Home Health: Used for regular at-home oxygen and heart rate monitoring.