0% found this document useful (0 votes)
210 views11 pages

Prototyping of Heart Rate and SpO - 2 Measurement Using MAX30100

This document describes the design and implementation of a wearable ECG device using the MAX30100 pulse oximeter sensor. The author aims to create a portable ECG that measures heart rate and blood oxygen levels. Components include an Arduino Mega microcontroller, MAX30100 sensor, LCD display, and buzzer. The sensor outputs heart rate data through infrared light absorption. Blood oxygen is measured through infrared and red light ratios. Testing obtains the expected heart rate readout, though movement affects accuracy. While successful, the author notes it is not suitable for commercial use due to sensor sensitivity.

Uploaded by

Rich Lee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
210 views11 pages

Prototyping of Heart Rate and SpO - 2 Measurement Using MAX30100

This document describes the design and implementation of a wearable ECG device using the MAX30100 pulse oximeter sensor. The author aims to create a portable ECG that measures heart rate and blood oxygen levels. Components include an Arduino Mega microcontroller, MAX30100 sensor, LCD display, and buzzer. The sensor outputs heart rate data through infrared light absorption. Blood oxygen is measured through infrared and red light ratios. Testing obtains the expected heart rate readout, though movement affects accuracy. While successful, the author notes it is not suitable for commercial use due to sensor sensitivity.

Uploaded by

Rich Lee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

1.

Chapter I: Introduction
a. Background
Whenever there are people who are ill and brought to hospital. The first thing
that the doctor do is to check our Heart rate by using ECG machine. Heart rate
gives doctor an indication whether his/her patient is breathing normally or not
and through the ECG there is 𝑆𝑝𝑂2 that measures the oxygen concentration
inside of our blood. Both Heart rate and 𝑆𝑝𝑂2 are useful indicator that could
help doctors and nurses in terms of operating the patient or monitor them.
These measurement could also give an indication to doctor of what possible
illness that the patient is having, but nevertheless doctors should examine the
patient thoroughly.
Though as we all know that ECG machines are very expensive and is not mobile.
By knowing this, I was interested to make an easy to use ECG machine that is
both wearable and light. From here I searched for the best sensor and easier to
use yet requires little space as possible. From the research I found the best
sensor to be MAX30100. Through those research found also the other
application of MAX30100 which is blood glucose meter. This one is also
interesting for me, but looking deeper into I was not able to understand a thing
and so I decided to make ECG first before going there.
b. Purpose
The purpose of doing this project is get a better understanding on how
MAX30100 sensor works and also deepen my programming skill for arduino.
Through this project I realize that there are a lot of application in arduino also I
was able to uncover the many different sensors that I have never seen before.

c. Scope
The scope for this project is not very hard. I would put it as intermediate,
because there are several people who have done it before. Therefore there are
several source that I learn the principle and how this sensor work. The difficult
aspect of this is to understand each of the code and its function.
2. Chapter II: Theory
a. Arduino Mega 2560
Arduino is an open source platform that allows people who uses arduino to
make project and shares them in the arduino forum. Now arduino has many
variant from arduino nano to arduino mega, commonly used by beginner is
arduino UNO as it is less complex to use and still function the same as other
arduino variant. Different variant has also different memory capacity. In this
project I used arduino ATmega2560 that has a lot more pin which allows me to
connect more component to it.

b. MAX30100 sensor
MAX30100 is a sensor built to measure the heart rate and oxygen concentration
inside of the blood. The MAX30100 uses infrared, red LEDs, and photodiode to
do the measurements. Inside of the MAX30100 there is a FIFO which is used as
data storage. The FIFO allows MAX30100 to microcontroller on a shared bus
where MAX30100 data are not being read continuously by the register. The
MAX30100 sensor has an on-chip temperature sensor that can be used to
calibrate the temperature depending on the 𝑆𝑝𝑂2 subsystem. The 𝑆𝑝𝑂2
subsystem consist of Ambient Light Cancellation (ALC), 16-bit sigma ADC, and
proprietary discrete time filter. The 16-bit sigma ADC inside of the 𝑆𝑝𝑂2
subsystem is the output system that can be program from 50Hz – 1kHz. The
proprietary discrete time filter will filter all 50Hz/60Hz interference and low-
frequency noises. Lasty it has the LED driver that is used to measure heart rate
and 𝑆𝑝𝑂2 . The LED current can be programmed from 0mA – 50mA with proper
voltage supply and the LED pulse are programmable from 200μs to 1.6ms to
optimize measurement accuracy and power consumption based on use cases.

In order for the sensor to give an output of heart rate, it needs to read the value
from the infrared sensor. The graph from the addition of each value which the
sensor got from the infrared sensor will go through several filtration such as DC
removal, mean median filter, and butterworth filter. Then the true heart beat
value can be seen in a form of graph. In order to give 𝑆𝑝𝑂2 value, the sensor
needs to use both the infrared and RED LEDs that is to measure the oxygen
concentration inside of the blood (𝑆𝑝𝑂2). From the both data the MAX30100 will
calculate the ratio between the absorbed infrared and Red LED. Thus it will give
an output of the 𝑆𝑝𝑂2.

c. 16x2 LCD I2C


This 16x2 LCD (Liquid Crystal Display) I2C allows me to display the Heart rate and
𝑆𝑝𝑂2 value instead of using the COM from the arduino application to display the
value. Now when using bare 16x2 LCD, I will need to use a lot of pin in order to
connect the LCD to my arduino mega. Therefore I use the I2C communication
converter backpack to make it easier and simpler to use. Instead of using a lot of
pins to communicate, with the backpack it needs SDA and SCL pin for
communication and VCC pin for voltage supply and GND pin.

d. Buzzer
The buzzer will produce tone when connected to voltage source and ground.
This tone can be changed by programming it. In this project I used the buzzer to
tone when displaying value. Thus it sounds similar to an ECG sound.
3. Chapter III: Methodology
a. Block Diagram
b. Flowchart
In order to build this project we will need:
1. Laptop (with arduino application)
2. MAX30100 sensor
3. Breadboard
4. Arduino ATmega2560
5. 16x2 LCD I2C
6. 15mm buzzer
7. Jumper cable (male to male and male to female)
To make this project works, firstly connect the arduino ATmega2560 to the
laptop, then using the jumper cable connect 5V and GND pins to breadboard.
Connect MAX30100 to the breadboard and connect it with the 5V and GND pins
in the bread board as well as SDA and SCL from the arduino itself. Next connect
the LCD with SDA and SCL pins as well as 5V and GND pins which can be taken
from the breadboard. Lastly the buzzer needs only GND pin from the bread
board and digital pin from the arduino. After all the components are connected,
upload the code form the laptop to the arduino and let it run.
4. Chapter IV: Result and Discussion

The result from the project is the same as what I as expect out of it, but there are
major problem in order to obtain such result. First the finger used for this
measurement must not move and must apply considerable amount of pressure
for the Infrared, Red LED, and photodiode to get a precise data and result. Also I
have to make sure that my finger has no sweat at all or it will affect the result.
The result shown above is my heart rate. Though it looks a bit higher than
normal human heart rate. That is because I did some heavy activity before
testing the sensor. There is also the graph that I wanted to make it shown, but I
wasn’t able to get the graph to be very good so I decided to leave it for now.
5. Chapter V: Conclusion and Remarks
In the end the project was a successful as it was able to measure the heart rate and
𝑆𝑝𝑂2 as what I wanted. As a remarks, I do not recommend using this sensor to make a
commercial ECG, because the sensor itself is too sensitive that a slight movement will
spike the value of the heart rate and in order to produce a good Electrocardiograph it
will still need a lot adjustment such as clearing noise and such. It is hard to make this
sensor to give a stable result in terms of graph as it is likely for the sensor to give spiked
result.

6. Reference
 Integrated, M., 2020.
Https://Datasheets.Maximintegrated.Com/En/Ds/MAX30100.Pdf. [online]
Datasheets.maximintegrated.com. Available at:
<https://datasheets.maximintegrated.com/en/ds/MAX30100.pdf> [Accessed 22
May 2020].
 Strogonovs, R., 2020. Implementing Pulse Oximeter Using MAX30100 - MORF -
Coding And Engineering. [online] Morf.lv. Available at:
<https://morf.lv/implementing-pulse-oximeter-using-max30100> [Accessed 22 May
2020].
 Alam, M., 2020. Interfacing MAX30100 Pulse Oximeter Sensor With Arduino. [online]
How To Electronics. Available at: <https://how2electronics.com/interfacing-
max30100-pulse-oximeter-sensor-arduino/> [Accessed 22 May 2020].
7. Appendix
a. Code
b. Connection Schematic

You might also like