Health monitoring IoT system based on Light absorption using MAX30100

Omar Rady
23 min readApr 4, 2020

Health monitoring IoT system based on Light absorption using MAX30100 to perform global access to the patient heartbeats per minute “BPM” and Oxygen saturation in the blood “SpO2”. By using the IoT Health Care Monitoring System, health care professionals can track, diagnose and inform their patients. Data about the health conditions are stored for remote access for any further analysis or alarming. This study is aimed to design IoT pulse oximeter monitoring, which is can be used in real monitoring of human health. Thus, this study takes into consideration to check for reliable accuracy, robust algorithm, and enough available information that will give dependable results for testing. For this purpose, we have used the Open-source microcontroller board based on the Microchip ATmega328P microcontroller (Arduino Uno), RCWL-0530 IC based on MAX30100 Oximeter, 16*2 LCD based on RC1602A, and the WIFI module as ESP8266–01

Introduction

The Internet has evolved, allowing people to access and use resources on a global scale using mainstream hosts, mobile devices such as mobile phones across the globe. Through connecting objects and devices, the Internet of Things (IoT) can make full use of the network capacity and enable the application of new technologies to a variety of different fields, such as home and building automation, smart cities, and healthcare. This will integrate new paradigms of human-to-machine and machine-to-machine interactions. Nowadays, wearable devices are the symbol of IoT, which can be worn on or attached to the human body.

IoT has led to major changes in medical services. Most consumers often benefit from M-Health (Mobile Health) and E-Health apps to improve, aid, and maintain their well-being. Increasingly, the Internet of Things allows for the introduction of devices capable of linking to the Internet, the provision of data on the health status of patients, and the continuous delivery of data to clinicians who help them.

Nothing is more recent than the current pandemic situation, all the countries are battling with COVID-19 and are still looking for a realistic and cost-effective solution to the problems that occur in different ways. Physical science and engineering researchers are also trying to take on these challenges, develop new hypotheses, explain concerns, create user-centric explanations, and edify ourselves and the civilian overall. IoT is one of a kind, many work, and studies aimed at increasing awareness on this groundbreaking technology and its major COVID-19 pandemic applications [ 3]. It is useful for a proper monitoring system during the quarantine. All high-risk patients are easily tracked through an internet-based network. This technology is used for biometric measurements such as blood pressure, heartbeat, and glucose levels show the critical merits of IoT in COVID-19 Pandemic.

Cardiovascular System and Health Evaluation

Cardiovascular health metrics such as heart rate, blood pressure, and blood oxygen saturation can provide some useful clues as to what’s going on inside our body. The evidence indicates that an optimal profile of cardiovascular health (CVH) is useful not only for cardiovascular disease (CVD) but also for other non-communicable diseases (NCD). [1]

The Cardiovascular System. [2]

Aims and Objectives

The main goal is to implement IoT methods and techniques to develop portable, and reliable low-budget health monitoring IoT prototype. The Prototype-based on MAX30100 pulse oximeter. More precisely, to Measure heartbeats per minute “BPM” and Oxygen saturation in the blood “SpO2” to be displayed and posted to 16*2 LCD and Web server in real-time. Values are evaluated and an email alert is sent to the medical professional in case any of the values is critical.

Article Structure

Article Structure

Literature Review

PREVIOUS RESEARCH IN Health Monitoring IoT Systems

Recently, IoT played a huge role in various research areas, furthermore, several practical applications have been implemented using IoT. There are several implementations, and architectures of IoT systems in the field of health care all include the primary parts. Typical health monitoring IoT system consists of three parts; the first part deals with data acquisition units such as sensors and cameras. The second component is the control unit, which can be a microcontroller, a microcomputer, a Laptop, etc. Control units are integrated with ADC / DAC, I / O, internet networking protocols such as Ethernet and WIFI, and data processing features modules. The third part is the display and review of information. Some advanced IoT systems may have higher-level systems built on top of the final information received, such as advanced chart analysis, a neural network for smart decision making, and alerting systems. In this section, some of the most recent IoT applications in health monitoring will be addressed. Recent studies propose the design of a system that can automatically detect coronavirus from a thermal image with fewer human interactions using a smart helmet with the Thermal Imaging System mounted [ 4], manual thermal scanning using infrared thermometers is used in public places to test the temperature of the body in order to identify the infectious person in the crowd. This prevention is still lacking because it spends a lot of time checking the temperature of the body from every person, and the most important is the close contact of the infected person, which could lead to the spread of the disease to the person who performs the screening processor from the person in charge of screening to the people in control.

Smart Helmet System Work. [4]
Thermal Image that detects a variety of temperature. [4]
Google Location History System. [4]

Another humanity challenge happens in the third world all year long, developing countries are faced with a rise in population which is not sufficiently compensated by an increase in the number of health services available. Despite technological advancements, a large percentage of the population still lacks adequate medical facilities and services, especially those with low incomes and live in rural or remote areas. There is an urgent need to develop a low-cost and highly efficient system to monitor healthcare for those living in areas such as to provide rapid monitoring of basic vital health parameters for a large number of people and to make these data readily accessible to physicians present anywhere in the world. A recent study proposed a novel and the reliable biomedical system have been developed that can easily track the vital signs of a large group of people simultaneously and send the information wirelessly to a specialist or medical facility anywhere in the world. The system is represented by a hub and spoke model, the spokes are sensor nodes consisting of the MSP430G2553 microcontroller and the nRF24L01 (IEEE 802.15.4) wireless transceiver. The hub is a Raspberry Pi 3 with the same transceiver[5].

Architecture Skeleton for monitoring a single patient. [5]
Simulation Model of Wrist Band. [5]
Results tables. [5]

A study to measure these two parameters, implement a near-infrared convenient tissue oximeter with a detection module utilizing the STM32 chip. Near-infrared spectroscopy (NIRS) is getting to be a broadly utilized research instrument to measure tissue oxygen (O2) status non-invasively. Through the measurement using near-infrared technology, the publishers could obtain blood oxygen saturation and the pulse rate. After obtaining the above two parameters, the portable device will send the data to the remote coaches or doctors via GPRS/WiFi/Zigbee networks. The data is processed by the expert decision-making system in order to provide the coaches and doctors with the athlete’s condition. In addition, the data can be sent to the smartphones of the players, coaches, or doctors through GPRS/WiFi networks, in which the blood oxygen saturation and the pulse data of the athletes can be displayed according to the requirement of the remote users. [6]

System model of the blood oxygen saturation and pulse measurement device. [6]
PPG curves (a) before and (b) after the sport. [6]

This research was inspired by publications focused on the collection and analysis of basic physical parameters such as temperature, pressure, pulse rate, glucose level, and oxygen level to create a smart health-monitoring device. Unlike complicated and expensive IoT devices, developing a low-budget, robust smart health monitoring prototype is a big leap towards a wide range of rollouts. Since IoT health-monitoring Prototypes are most needed in poor urban areas, so small-scale prototypes and low-budget portable solutions should be targeted.

Development of smart IoT health monitoring system prototypes like this one along with others proofs the tremendous advancement of technology over the last few decades has led to the creation and use of small, low-power, low-cost sensors, actuators, electronic components, and powerful computers that pave the way for low-cost, non-invasive and continuous monitoring of an individual’s health[ 6, 7].

Pulse Oximeter Background

In 1760, Johann Heinrich Lambertin defined the relationship between light absorption and absorbent concentration. August Beer, who published the Beer-Lambert law in 1851, examined this further [ 8]. The Beer-Lambert law reflects the linear relationship between light absorption and material absorption. Hoppe-Seyler showed that oxygen changes the color of a blood material in 1860, following the invention of the spectrometer by Kirchhoff & Bunsen. The term hemoglobin was used in coincidence and subsequently, oxygen and hemoglobin were a loose, dissociable compound that he called oxyhemoglobin [ 9].

The concept of clinical monitoring has been revolutionized by Pulse Oximetry. No other electronic monitoring system found common use in the operating room faster than the pulse oximeter. Oximetry is the hemoglobin oxygen saturation spectrophotometric measure. The pulse oximeter is fully non-invasive and provides continuous measurements of arterial saturation in real-time. Since 1988, the AAGB&I approved this as its intra-operational monitoring procedure. It became the ASA standard for intraoperative monitoring as of 1 January 1990, the purpose of this requirement was to improve patient safety[ 10].

Theoretical background of methodology

Heartbeats and blood oxygen saturation calculation

A pulse oximeter is a device that measures and displays oxygen saturation. Pulse oximeters were originally used in hospital operating rooms and then spread to intensive health centers, then to patient clinics. Since 1986, pulse oximetry is a common indication; it helps anesthesiologists to make sure that oxygen is adequately carried in tissue during respiratory support. The respiration waveform can be isolated from the low-pass electrocardiograph (ECG) waveform filtering. It results from the artifact of lung impedance due to breathing that occurs while the ECG is acquired by surface electrodes. Key pulse oximetry features include SpO2 accuracy, precision under motion conditions, accuracy under low perfusion conditions, signal inadequacy, and protection from excessive temperatures [ 11, 12].

A low-cost reflection photoplethysmography system (PPG) [ 13] with a dedicated integrated circuit (IC) as the core of a wearable health monitoring device is discussed here. Two physiological indicators are measured, namely pulse rate (HR) and blood oxygen saturation (SpO2). The used pulse oximeters determine arterial blood oxygen saturation by measuring the light absorbance of tissue at two different wavelengths and using the arterial blood pulsation to differentiate between the absorbance of arterial blood and other absorbers. A good choice of wavelength is where there are large differences in the extinction coefficients of deoxyhemoglobin (HbCO) and oxyhemoglobin (HbO2). Another criterion for the wavelength selection is the relative flatness of the absorption spectra around the chosen wavelength. The two conventional wavelengths used in pulse oximetry are 660 nm (red light) and 940 nm (near-infrared light) [ 14]

Hemoglobin Light waves absorption. [14]

If oxygen (O2) is present in the blood, it can be transported in two ways. It may be dissolved in the plasma, which is 2 percent of the total value, the reason is that the blood is essentially made from water and that the gasses hardly dissolve in these environments. A second and more efficient way is to connect O2 to hemoglobin (Hb) resulting in oxyhemoglobin (HbO2). Oxyhemoglobin saturation (HbO2) or O2 functional saturation is calculated as follows [ 15].

Reflectance pulse oximetry normally operates through two separate wavelengths to determine the light transmitted across the tissue by the LEDs. Thus, its operation is based on the physical principles of the light’s behavior. The values at which HbO2 and Hb absorption have the largest absorption differential are selected. An alternative approach to reduce the error associated with the modification of wavelength peaks in the sensor LEDs to flatten the absorption spectrum. For maximizing absorption and limit the device’s error, wavelengths used in our reflective pulse oximeter are red light (RED) (660 nm) and the infrared light (IR) (880–940 nm). As the DC signal bias is common for wavelengths, a relation (R) is obtained between RED and IR light emitted. The following equation, which is defined by R, calculates the HbO2 saturation [ 15]:

Where I is the time-varying or AC component of the signal and I is the average received photocurrent of the red and infrared light signals.

The same equation can be expressed as:

R=log( I)∗λ1/log( I)∗λ2 (3)

Where λ1 is for 650nm wavelength and λ2 is for 950nm wavelength of light.

If we apply Lambert-Beer law:

Where It is the intensity of light that passes through the medium, I represents the intensity of incident light, A is the absorbance, D is the distance covered by the beam of light, ε is the extinction coefficient of the solute (Hb) and c is the concentration of the solute.

The SO2 equation can be obtained as follows[ 15]:

Where the hemoglobin-referred to RED light extinguishes are R(Hb) and IR(Hb) coefficients, eventually, R(HbO2) and RED(HbO2) are the coefficients of oxyhemoglobin in relation to the RED light.

Because part of the transmitted light is reflected in the blood cells, various methods of calibration of oximeters are used today. For the calibration of oximeters, manufacturers use SpO2 data based on voluntary studies and tested by a medical instrument in an invasive manner. Many experiments have been performed with the goal of reducing the errors associated with this form of calculation resulting in a refinement of the SpO2 equation. The relationship between the oximeter and the calculated values shall be defined by [ 16 , 15]:

The coefficients K1, K2, K3, and K4 are determined experimentally by means of in vitro measurements for the best possible approximation [ 16]. In this article we concluded to use the calibration equation of Oxygen saturation as follows [ 17]:

MAX30100 Sensor

MAX30100 supports pulse oximetry and the heartrate sensor structure for the necessities of wearable gadgets. The SpO2 and heart rate are achieved by two LEDs, a photodetector, optimized optics, and low noise 50/60Hz analogical signal processing filter. MAX30100 runs on 1.8V and 3.3V power supply and can be powered down with low standby current consumption, enabling a consistent connection with the power source. Without compromising the optical or electrical output level, MA3X0100 provides an exceptionally small overall design scale. The design of portable equipment needs minimum external hardware components. The programming registers make it fully configurable. FIFO Register with the capacity of 16 measurements, where each sample is the size of 4 bytes. The first two bytes are for IR measurement and the last two bytes are for RED measurement allows for the connectivity of the sensor to a control unit common bus on I2C serial communication in which the information read from the register is user-controlled and not consequently since the FIFO points to the same address. You have to finish the transaction for the FIFO output address to contain the next values [ 17].

MAX30100 Function diagram [17]
MAX30100 pins configuration [17].
MAX30100 system block diagram [17]

RCWL-0530

The RCWL-0530 is a small (19 x 14 x 3 mm) sensor module focus on MAX30100 sensor. The sensor has a temp sensor on-chip that can be used to offset the SpO2 error with changes in the ambient temperature. The RED and IR LED results, filtered with an ambient light cancelation (ALC) and applied to a Sigma-Delta ADC converter, are continuously oversampled. It also contains a discrete-time filter to eliminate interference and residual ambient noise at low frequency. To get a heart-rate data sample, only the IR LED is used to capture optical data. The red LED can be inactive [ 18].

RCWL-0530 sensor module [18].
RCWL-0530 circuit schematics [18].
RCWL-0530 pins configuration [18]

RCWL-0530 Design Consideration

This module does not, feature documentation. I have even seen the MAX30100 support has been stopped, as a newer model with up to date libraries and tutorials are available. There are many documents on RCWL-0530, however, none of which is official and no longer verified. RCWL-0530 might not work as it has a circuit design problem, The MAX30100 IC uses 1.8V for VDD and this particular module uses two regulators to achieve this voltage, however, if you look closely, the SCL and SDA pins are pulled-up with 4.7k ohm resistors to 1.8V! This means it will not work well with microcontrollers with higher logic levels such as Arduino Uno. The solution is to remove the board resistors and place external 4.7k Ohm resistors on SDA, SCL, and INT Pin (encircled in the following picture). Connect the INT, SDA, and SCL pin to the external 4.7 K Pull-up resistors as shown in the image below after removing all 4.7 K resistors [ 19].

RCWL-0530 integrated resistors [19]
RCWL-0530 external pull-ups 4.7K resistors connection [19]

Control units and data processing

A popular open-source microcontroller is the main control unit of the proposed model. Typical microcontroller (MCU) is a single chip with a CPU, a clock, a system non-volatile memory (ROM or flash), an input-and-output memory (RAM) volatile, and an I / O control unit. MCUs that provide “real-time” embedded processing are often responsible for functional local processing. Arduino Uno board servers as our main microcontroller unit, supplies power to all peripherals and receive raw data from RCWL-0530, applies signal filtration, and processes it to generate meaningful values, and then sends this data to the receiving ends. Uno sends and sets the parameters of the Oximeter LEDs along with the sample rate. Then retrieve data from the FIFO Oximeter register to filter and process it into meaningful information via IIC serial communication.

RCWL-0530 sampling rate for PPGs varies between 50sps and 1000sps. The dynamic conversion range depends on the current pulse width of the LED which can be configured through the MCU, the maximum pulse width is 16-bit digital conversion. Setting the minimum pulse width conversion output does not exceed 13-bit resolution [ 17].

MAX30100 LED Pulse Control [17]

The oximeter SoC is already designed to obtain significant signals and reduce noise. The Quality of readings can further be improved if the goal is to optimize PPGs using established hardware resources. Signal improvements as well as oximetry calculation will be discussed in algorithm implementation section.

Arduino Uno

Arduino Uno is an ATmega328P microcontroller board. It has fourteen input/output digital pins (including six of which PWM outputs are available), five analog inputs, a ceramic 16 MHz (CSTCE16M0V53-R0) resonator, a USB interface, a power jack, an ICSP header, and an ICSP reset button. It contains everything needed to support the microcontroller. The Arduino board index for a wide list of existing, past, and obsolete boards. “Uno,” in Italian means one, and was proposed to mark Arduino Software (IDE) 1.0 release. Arduino’s Uno board and Arduino Software version 1.0 (IDE) were the Arduino reference versions which are now upgraded. The Uno board is the first in a series of USB Arduino boards and the Arduino platform reference model.

Arduino Uno Pins configuration [20]

ATmega328P is a low-power 8-bit CMOS microcontroller based on the AVR ® enhanced RISC architecture. By performing powerful instructions in a single clock cycle, the ATmega328P achieves throughputs approaching 1MIPS per MHz, allowing the system designer to optimize power consumption versus processing speed [ 21].

ATmega328P Block diagram [21].

The MAX30100 module is connected to 1.8v, which is not a theoretical issue. The communication logic level of the Arduino IIC pin is 5V, so it cannot communicate with Arduino without changing the hardware of the MAX30100 module, however, direct communication is possible if the MCU is an STM32 or 3.3v logic level MCU. This is a downside of Arduino Uno in this certain project; however, it is solved with a simple design consideration illustrated in RCWL-0530 Design Consideration section.

ESP-01 as WIFI Shield

The ESP8266 ESP-01 is a Wi-Fi module that provides access to a Wi-Fi network by microcontrollers. This module is a self-contained SoC (System on a Chip) that does not necessarily require a microcontroller to manipulate inputs and outputs, as you would normally do with the Arduino. It can have up to 9 GPIOs (General Purpose Input Output) depending on the version of the ESP8266. So, we can give the microcontroller internet access as an Arduino Wi-Fi shield, or we can simply program the ESP8266 not only to have access to the Wi-Fi network but also to act as a microcontroller.

ESP-01 module [22]
ESP-01 block diagram [22]

In this article, ESP8266–01 is used as an Arduino Wi-Fi shield, ESP-01 comes with a pre-installed AT firmware. This chip can be programmed with different firmware, such as NodeMCU. However, the AT firmware is compatible with the Arduino IDE, so we used AT firmware.

ESP-01 pins configuration [22]
ESP-01 Pin description [22]

The ESP-01 module has three modes of operation:

  • Access Point (AP)
  • Station (STA)
  • Both

In AP mode, the Wi-Fi module serves as a Wi-Fi network or access point allowing other devices to connect to it. It simply establishes two-way communication between the ESP8266, and the unit connected to it via Wi-Fi.

In STA mode, the ESP-01 will connect through your home to an AP such as a Wi-Fi network. It allows any unit connected to the network to communicate with the module. The third mode of operation allows the module to act as both an AP and an STA. Although ESP-01 is a stand-alone MCU with the WIFI module, using it with Arduino will limit its ability to run flashed programs, it only acts as a WIFI module in our case. Data transmission along with the WIFI network, and web server connection are established as AT commands assigned by the serial port at the baud rate recommended (COM) to ESP-01 over UART serial communication allowing the microcontroller (Arduino Uno) to connect to a Wi-Fi network and make simple TCP/IP connections using Hayes-style commands.

The ESP-01 is designed for 3.3V and requires up to 170mA of current. Although Arduino Uno has a 3.3v pin, it does not support up to 170mA, and the UART pin (TX, RX) has a 5v logic. A direct connection between ESP-01 and Arduino Uno would not provide a stable data transmission or a stable WIFI connection due to a lack of electrical current as well as higher logic for ESP01 UART pins [ 20, 22], therefor an adapter or connection modification is a must.

A voltage regulator ESP-01 adapter based on LD1117v33 and MOSFET transistors level shifting is used to maintain a proper connection between ESP-01 and Arduino Uno [ 23].

ESP-01 Adapter v1.0 [23]
ESP-01 Adapter v1.0 schematics [23]
ESP-01 module connected to its Adapter

Information Display and Evaluation

The receiving end is a core part of any IoT system, where the data is displayed and sent as useful information for further action, analysis, and evaluation. The next parts cover the display and evaluation elements of this article.

RC1602A LCD

LCD1602 [24]

Popular design boards like the Arduino are compatible with wide of LCD module. LCD modules come with a different number of displayable characters in several colors and sizes. LCD1602, which displays 16 characters in each row (2 rows) for a total of 32 characters, is the most widely used one. LCD1602 Liquid crystal display style module, formed of dot matrices that shows letters, numbers, and characters, etc. It has 5×7 or 5×11 dot matrix positions and can display a single character for each position. There is a pointed pitch between two characters and a space between lines separating lines and characters [ 25].

RC1602A LCD Block diagram [25]
RC1602A LCD Pin description [25]

LCD1602 is designed to display 8-bit raw data lines. Yet RC1602A LCDs are designed so that we can talk to the LCD using only 4 data pins (4-bit mode) instead of 8 (8-bit mode) [ 24]. This saves us 4 pins with Arduino wiring, the slower data transition compensates for the 8-bit serial transmission divided into 2 communications, but this negligible time delay does not skip the MAX30100 readings.

The LCD has one prime function in this prototype, which is the display of the Heart beats per minute value (BPM) in the first row, and the Blood Oxygen Saturation Percent (SpO2) in the second raw, along with a welcome message when the system is powered/turned on.

Data fetching and retrieving using PHP

PHP may not be the newest technology, but it should be considered for the IoT web application. it is by far the most popular and widely used server-side programming language on the web. It is deployed by a range of web hosting companies with a close association with the MySQL database and an outstanding selection of libraries. The data is transmitted from esp8266 to the webserver after it is processed and collected by Arduino Uno. HTTP is an application-level client protocol. The application protocol is used for sending data to the web server over a TCP / IP connection. The TTP protocol allows communication between the client and the server. It functions as a request-response (POST-GET) between the client and the server.

Existing variables in the PHP script on the server-side receive the data sent from the client-side (ESP-01) via the GET request and pass the values to the existing variable in the script. Client-side data is provided by the esp8266, which consists of the sensor ID, and the BPM, SpO2 values, each LED on the MAX30100 sensor is considered to be an independent sensor, as the IR LED is used for heart rate and the RED LED is used for blood oxygen saturation. This code structure was considered to have the option to disable any LEDs for mode switching from the online page for mode switching. A second PHP script is then triggered to update the database records, a third PHP script is acting as a user interface to display database records and take in user input.

Databases as records buffer

MySQL database is created to act as a record buffer between the first PHP script to receive sensor values and the third PHP script interface to display sensor values. This structure is considered for more reasons, including future work;

  • Scalability to handle more sensors, and more users
  • Customization as it can link certain values to certain users
  • Records saved in a database helps with further analysis

Email-Alert System

The medical emergency alert, also known as personal emergency response systems, offer elderly people or people with health issues and those who live on their own a fast and simple way of being assisted in an emergency, be it an emergency crisis, an accident, a fire, or any incident requiring an immediate response. In the proposed system, the PHP web-application detects any critical BPM or SpO2 values and sends alert emails for the predefined addresses.

Implementation and Results

SYSTEM’S implementation and Algorithm

After the prototype is wired and powered, the system starts with the initiated IC chip communication sensor and then configures it to operate in the blood oxygen saturation mode (SpO2). The width of the LED pulses, the current level of the LED, the ADC resolution, and the IC sample rate can also be customized. MCU reads the sample, passes it through the filtering stages, and then sends the filtered sample to record and print it over the serial monitor. UART communication with ESP-01 is established to connect to the webserver and read the values from the initial serial port and send it to the PHP script hosted on the webserver to follow the algorithm shown in the figure 18. The detailed theoretical explanation took place in chapter two.

Circuit Schematics System’s Algorithm

System circuit schematics

System’s Algorithm

Results

This section sets out the experimental results of the proposed system. Starting with the real-time measurement displayed on the Arduino serial portal displaying each beat detected and the evaluated BPM and SpO2 as shown in the figure below.

Serial port real-time display

Heart beats is represented as a scale number of beats per minute (BPM) in the first LCD row, and Blood Oxgyen saturiation is represented as a percantge in the second row.

LCD real-time measurement display

Interface PHP script display database records every 2 seconds, we can set the page refreshing at any time interval we wish, or advanced refreshing techniques can be implemented later like AJAX framework. Database records already update each time new readings are retrieved by other 2 dedicated PHP scripts as explained in chapter two.

Webserver interface

Critical BPM and SpO2 threshold can be set individual according to the user health condition, when critical value is detected an email alert is sent to the associated health professional email address, SMS or phone call can be implemented too.

Alert email

Conclusion and Future Work

This article was to develop the PPG signal sensing to measure heart rate and blood oxygen saturation as IoT monitoring prototype-based on MAX30100, Arduino Uno is used for sensor-side, and the web server communication control, data collection, and display with the client sensor application ESP01 is used.

The project resulted in a functioning wireless HR and SpO2 monitor with a finger-based oximeter sensor and a hosting web server with a globally accessible domain. The sensor continuously collects PPG data from the subject’s finger and transmits it via ESP01 to the connected PHP scripts running the interface, displaying information, calculating and showing the periodic heart rate, and logging the data for future reference and alert notification.

Future work

Higher portability, stable accuracy, and privacy/security with more useful health analysis can be achieved through future work ideas.

  • Body temperature and balance sensors can be added to the system.
  • Use upgraded ESP MCU as standalone IoT chip instead of extra MCU besides a WIFI shield
  • Develop PCB board for the full system circuit.
  • Develop mechanical enclosure design for the PCB board.
  • Develop better web application with user profile system and data visualization plots.
  • Better alert system can be considered including SMS, recorded phone calls or emergency call, user location.

REFERENCES

[1] B. Gao, F. Wang, M. Zhu, J. Wang, M. Zhou, L. Zhang, and M. Zhao, “Cardiovascular health metrics and all-cause mortality and mortality from major non-communicable chronic diseases among Chinese adult population,” International Journal of Cardiology, 2020.

[2] “The Cardiovascular System,” CardioSecur. [Online]. Available: https://www.cardiosecur.com/magazine/specialist-articles-on-the-heart/cardiovascular-system. [Accessed: 19-May-2020].

[3] R. P. Singh, M. Javaid, A. Haleem, and R. Suman, “Internet of things (IoT) applications to fight against COVID-19 pandemic,” Diabetes & Metabolic Syndrome: Clinical Research & Reviews, vol. 14, no. 4, pp. 521–524, 2020.

[4] M. N. Mohammed, Halim Syamsudin, S. Al-Zubaidi, Sairah A.K, Rusyaizila Ramli, and Eddy Yusuf, “Novel COVID-19 detection and diagnosis system using IoT based smart helmet,” International Journal of Psychosocial Rehabilitation, vol. 24, no. 7, pp. 1475–7192, 2020.

[5] V. V. Garbhapu and S. Gopalan, “IoT Based Low Cost Single Sensor Node Remote Health Monitoring System,” Procedia Computer Science, vol. 113, pp. 408–415, 2017.

[6] Y. Fu and J. Liu, “System Design for Wearable Blood Oxygen Saturation and Pulse Measurement Device,” Procedia Manufacturing, vol. 3, pp. 1187–1194, 2015.

[7] M. Pravin Savaridass, N. Ikram, R. Deepika, and R. Aarnika, “Development of smart health monitoring system using Internet of Things,” Materials today proceedings.

[8] H.- J. Priebe, “Pulse Oximetry, 2nd Edn,” British Journal of Anaesthesia, vol. 89, no. 5, pp. 802–803, Jan. 2002.

[9] J. W. Severinghaus and P. B. Astrup, “History of blood gas analysis. VI. Oximetry,” Journal of Clinical Monitoring, vol. 2, no. 4, pp. 270–288, 1986.

[10] Y. Pole, “Evolution of the pulse oximeter,” International Congress Series, vol. 1242, pp. 137–144, 2002.

[11] A. V. Chong, M. Terosiet, A. Histace, and O. Romain, “Towards a novel single-LED pulse oximeter based on a multispectral sensor for IoT applications,” Microelectronics Journal, vol. 88, pp. 128–136, 2019.

[12] K. L. Kelly, A. R. Carlson, T. G. Allison, and B. D. Johnson, “A comparison of finger and forehead pulse oximeters in heart failure patients during maximal exercise,” Heart & Lung, 2019.

--

--

Omar Rady

Engineer interested in Tech / Travelling / Economy