# Development of an IoT-Based Sleep Apnea Monitoring System for Healthcare Applications

Authors: Abdur Rab Dhruba; Kazi Nabiul Alam; Md Shakib Khan; Sami Bourouis; Mohammad Monirujjaman Khan
Journal: Computational and Mathematical Methods in Medicine
 (2021)

---

## Abstract

Sleep is an essential and vital element of a person’s life and health that helps to refresh and recharge the mind and body of a person. The quality of sleep is very important in every person’s lifestyle, removing various diseases. Bad sleep is a big problem for a lot of people for a very long time. People suffering from various diseases are dealing with various sleeping disorders, commonly known as sleep apnea. A lot of people die during sleep because of uneven body changes in the body during sleep. On that note, a system to monitor sleep is very important. Most of the previous systems to monitor sleeping problems cannot deal with the real time sleeping problem, generating data after a certain period of sleep. Real-time monitoring of sleep is the key to detecting sleep apnea. To solve this problem, an Internet of Things- (IoT-) based real-time sleep apnea monitoring system has been developed. It will allow the user to measure different indexes of sleep and will notify them through a mobile application when anything odd occurs. The system contains various sensors to measure the electrocardiogram (ECG), heart rate, pulse rate, skin response, and SpO2 of any person during the entire sleeping period. This research is very useful as it can measure the indexes of sleep without disturbing the person and can also show it in the mobile application simultaneously with the help of a Bluetooth module. The system has been developed in such a way that it can be used by every kind of person. Multiple analog sensors are used with the Arduino UNO to measure different parameters of the sleep factor. The system was examined and tested on different people’s bodies. To analyze and detect sleep apnea in real-time, the system monitors several people during the sleeping period. The results are displayed on the monitor of the Arduino boards and in the mobile application. The analysis of the achieved data can detect sleep apnea in some of the people that the system monitored, and it can also display the reason why sleep apnea happens. This research also analyzes the people who are not in the danger of sleeping problems by the achieved data. This paper will help everyone learn about sleep apnea and will help people detect it and take the necessary steps to prevent it.


---

## Body

## 1. Introduction

Sleep apnea is a disorder which is parallelly connected to the human respiratory system and our brain. It indicates a problem with breathing and respiration obstacles during sleep. There are two kinds of sleep apnea: obstructive sleep apnea (OSA) and central sleep apnea (CSA). Sometimes they both take place at the same time. That can be said as complex sleep apnea, but it is too rare to be called an apnea type. Obstructive sleep apnea (OSA) is basically upper airway congestion. It occurs due to relaxation of our throat muscles and lack of oxygen passing through our nasal-throat passage that causes irritation in breathing and sometimes results in serious complications. Central sleep apnea is less popular but more alarming than OSA. The human brain is the key maintenance center of the whole body, as every organ and system runs on its directed signal or instruction, and its central sleep apnea comes into major exposure. Central sleep apnea occurs when the brain fails to send the necessary instructions or signals to the system which controls our breathing and respiration. Here, neurons fail to transmit signals to the breathing muscle, which pauses the breath for a good amount of time, maybe near 10 seconds [1]. And in rare cases, they can both take place, which is more than an emergency medical treatment issue, and alarming also.Medical and clinical researches are going on regarding this issue, and some alarming scenarios are keeping us alert. Sleep apnea is responsible for a wide range of physical complications and diseases, including strokes, hypertension, cardiac abnormalities, and depression [2]. According to research, around 3 to 7% of men and 2% to 5% of women are suffering from sleep apnea. That sums up approximately more than 100 million people in the world, including adolescents. Interestingly, 80% of apnea cases remain undiagnosed. Sleep apnea (OSA) affects approximately 1 to 4% of children aged 2 to 8, with 20% of them snoring. It varies in different parameters, like who is affected, who is not [3, 4]. Some complications or risk factors related to this problem identifying process are excessive weight or obesity, being men (2-3 times higher risk), alcohol consumption, smoking, family history, neck circumference, nasal congestion, and medical conditions like high blood pressure, type-2 diabetes, and lung or other respiratory diseases. Patients with diseases like Parkinson’s and after strokes are at risk of suffering from central sleep apnea. Sleep apnea can cause a good number of health complications and death in the very worst case. Loud snoring, fatigue, drowsiness, weakness in the body, and lack of concentration are the common symptoms of sleep apnea. High blood pressure caused by a lack of sleep and a low oxygen level may also increase the risk of a heart attack. Apnea patients are three times more likely to have a stroke. Lungs can be affected even more dangerously when the SpO2 level is reduced. Lung disability caused by a lack of oxygen is a very common but very concerning complication of sleep apnea. 43% of people suffering from mild sleep apnea had “hypertension.” According to research, this apnea problem causes 15% of traffic accidents and costs approximately 1000 lives in the United States. Over 38,000 people in the USA die every year due to direct and indirect effects of sleep apnea, mostly affected by cardiovascular complexities [5]. So, this is a matter of awareness as it is not being focused on yet or getting that much exposure, but we will try to identify it with ease with our research so that people do not remain undiagnosed and can have a comfortable life with no life risk.The very basic parameters of health which are related to sleep apnea include AHI (apnea-hypopnea index), heart rate (BPM), blood oxygen saturation (SpO2), body mass index (BMI), sleeping time, REM, blood glucose, age, and blood cholesterol [6]. In different research, it has been seen that such parameters are covered on the basis of medical research. In most cases, they come up with a study of medical data of a particular or group of patients, and they analyze the results. Devices are mostly used: polysomnography (PSG), electrocardiogram (ECG), and some clinical devices like this. These devices are too costly to use for personal use. Some advanced and fruitful research happened earlier based on sleep apnea. In [7], wearable e-textile sensors used an IoT approach to collect real-time data on sleeping habits and respiratory rate. The same concept is used in [8] as they use signals of breathing collected from the sensor-based mattress, which are generally used in operation theatres. A polyvinylidene fluoride (PVDF) sensor is used with a polysomnography (PSG) device to measure time-to-time AHI data [9]. Researchers used the “peripheral arterial tonometry” (PAT) method to detect sleep apnea perfectly. They developed the WatchPAT device that records the pulse wave on a finger and derives sleep and sleep apnea features [10]. In [11], a 3D camera was being used to check the movement of abdominal muscles which they compared with the OSA detection process. The sound detection method used in [12] is one that allows for precise measurement of sounds with very high frequencies. Besides, so much research has taken place with the analysis of real-time ECG monitoring and prereserved ECG data. Machine learning techniques were implemented. In [13], the authors described the development of an android-based pulse monitoring system. To measure the human heart rate, the author of this study used only one sensor. In [14], an IoT device was built that extracts ECG data from the user and evaluates the result from the classification model- (SVM-) based system, which they named the “Apnea MedAssist Service”. In [15–17], researchers implemented machine learning and deep learning techniques to detect apnea from medical data.From earlier research, it is observable that researchers measured real-time parameters of sleep apnea, which they analyzed afterwards. But there is less use of parameters of sleep apnea like SpO2, heart rate, AHI, sleep time, or such important parameters being measured at a time. In particular, they measured data and analyzed it with advanced tools. Besides, in earlier research, these values were measured overnight, and then, they got the data, but in this system, the value will be measured in real time. If any complications arise, someone concerned may be notified via IoT device. For example, if “oxygen saturation” falls, this is a severe medical emergency, and with a possible device, the attendant, doctor, or concerned personnel can get instant signals from this individual patient. Hence, this proposed system in the research is novel work. Due to sleep apnea, people may have a stroke, may have cardiac arrest, and may have heart failure or such complications. Real-time measurement of these apnea parameters is a must to reduce such risks, as it may cause death. Another motivation is that regular apnea screening devices are too costly to afford. They are mostly used in medical institutes for medical conditions or research purposes, but a cost-effective device is needed so that the general public can buy this and screen their apnea issues while staying at home, with no need to rely on costly clinical monitoring. Our research goal is to solve these issues, and saving human lives is the ultimate goal of this study.The objective of this study is to develop an IoT-based sleep apnea monitoring system for health care applications. An IoT-based sleep apnea monitoring system for healthcare applications is developed in this study. In this research, the system will monitor the parameters of sleep apnea on a real-time basis and will try to monitor the values of these as efficiently as possible with diverse parameters. The main parameters covered in this research are SpO2, heart rate, ECG, skin response, and sound intensity to be measured at a time. An application is being made that will show the real-time data of these parameters so that patient’s attendant can get an instant and continuous update of patient’s health.The rest of this paper is organized as this pattern: Section2 describes the methods and tools implemented in our research. All the modules (hardware and software) and their workflows are being discussed here. Section 3 demonstrates the results and outcomes we got from our system and their broad qualitative analysis as well. In Section 4, the whole concept of this research is summarized, and we also discussed how important and effective it is to monitor sleep apnea on a real-time basis, and we concluded the section by discussing our ambitions and motivation for this work for the sake of lives.


## 2. Methods and Materials

### 2.1. Methodology Statements

This section discusses the methods, components and paths that are used to fulfill the goal. The aim of the system is to monitor the entire sleeping period of a patient with sleeping disorders. This microcontroller-based sleep apnea monitoring system for sleeping disorder patients is combined with three different layers. The main layer is a microcontroller unit which connects the input layer and the output layer. In the input layer, it is combined with four different sensors which will provide the analog signal to the Arduino UNO to measure the different indexes of sleep condition. The output layer is combined with two parts, including the serial monitor of the Arduino UNO and a mobile application to display the digital data converted by the microcontroller.


### 2.2. Outline of the System

A block diagram shows the full system in Figure1. The system consists of input, output, and a microcontroller board Arduino UNO shown in Figure 2. The Arduino board, which is also connected to the output layer, combined with the serial monitor of the Arduino board, and a Massachusetts Institute of Technology (MIT) App Inventor-based mobile application connected to a Bluetooth module show the converted digital data to the viewer.Figure 1
Full system block diagram by which the system works successfully.Figure 2
Arduino UNO Pinout [18].Figure1 shows the basic workflow of the system. The sensors provide the data to the Arduino UNO simultaneously, and the Arduino UNO passes the converted digital data to the Arduino IDE (Integrated Development Environment)’s serial monitor and also to the mobile application through the Bluetooth module at the same time.


### 2.3. Modules and Materials

The system is integrated with different kinds of components that are doing different tasks in the system. Some are for the input, some are for the output, and some are used in the system to create a bridge between the inputs and outputs.


#### 2.3.1. Arduino UNO

The Arduino UNO, shown in Figure2, is system’s major component, and it is based on the VR Microcontroller Atmega328. This programmable microcontroller has the capacity to connect to other sensors or computers, allowing it to be used in many projects. It has 2 KB of SRAM (static random access memory) and 32 KB of flash memory, 13 KB of which is utilized to store the set of instructions in the form of code. It also includes a 1 KB EEPROM (electrically erasable programmable read-only memory).This Arduino board has a total of 30 connections, with 14 digital pins and 6 analog pins for external connection. The A0 to A5 analog pins are used to receive analog data from external devices such as analog sensors. On the board, there are various digital and analog input and output pins that operate at 5 V. These pins have conventional operational current ratings of 20 to 40 milliamps. The DC power jack may provide a voltage ranging from 7 V to 20 V, or the USB connected to an external device can provide a 5 V voltage. Data transmission is the key for IoT devices. To receive, transmit data, and maintain serial communication, two pins called Pin 0 (Rx) and Pin 1 (Tx) work simultaneously. The Rx pin receives data, whereas the Tx pin transmits data. Serial communication can also be done by other input/output (I/O) pins of the board. The serial monitor of the Arduino IDE software is used to send or receive text data from the board. It is used to display the output data from the Arduino board.


#### 2.3.2. Sensors

There are several sensors to monitor patient’s condition during sleep. To monitor and analyze sleep apnea, the system contains a few sensors that will fulfill the major goals. The heart rate module, SpO2, pulse sensor, ECG sensor, galvanic skin response (GSR) sensor, and sound sensor to monitor the snoring sound of the patient during sleep have been used in the system. These six sensors will monitor the patients during sleep and will provide analog data to the Arduino UNO.(1) Heart Rate Pulse Sensor. Difficulties with breathing and sleep apnea problems are very much related to the heart rate of the patient. The system contains a heart rate pulse sensor to monitor the heart rate of the patient throughout the sleeping period. A high heart rate is one of the major risk factors for sleep apnea. The normal heart rate of a healthy person is in the range of 60-100 beats per minute (bpm). The heart rate varies from person to person. More physically active people usually have a lower heart rate than less active people. A higher and unusual change in heart rate is a major sign of sleeping disorders. Figure 3 shows the heart rate pulse sensor.Figure 3
Heart rate pulse sensor.The heart rate during sleep is usually lower than at other times of the day. The average heart rate of a person during sleep is usually around 60-80 bpm, as shown in Figure4, but a healthy and fit person has a lower heart rate in the range of 50-60 bpm during the sleeping period.Figure 4
Heart rate during sleep [19].An unusual change in heart rate is one of the symptoms of sleep apnea. A lower heart rate can occur due to a lack of oxygen supply in the body. It could happen when the breathing of a person stopped due to any unusual reason. A higher heart rate is also a result of sleep apnea. Because of hypertension and stress, a higher heart rate can occur. And it usually hampers the usual sleep of a person. It is one of the main reasons for heart failure during sleep.The system will include a heart rate sensor to continuously monitor person’s heart status. This is an analog sensor, and the sensing element of the sensor will be attached to person’s body. This will send the analog signal to the Arduino through the analog pin. The heart pulse sensor is depicted in Figure3. The data pin of the sensor is connected with one of the analog pins of the Arduino for data transmission. This sensor operates on a voltage of 5 V and 4 mA current.(2) AD8232 ECG Sensor. An electrocardiogram, or ECG, is very important in monitoring sleep apnea. An ECG provides information about the heart rate and the rhythm of the heart. It also shows the unusual change in the heart rate. It can provide the state of the heart during the sleeping period, whether there is any kind of enlargement of the heart occurring due to hypertension, and can also detect myocardial infarction. The ECG varies person to person for several reasons. A physically active person has a more stable ECG than an inactive person’s ECG. The resting ECG is different from the stress or exercise ECG. Figure 5 shows the AD8232 ECG sensor used in this research. Figure 6 given below will show the ECG values during sleep.Figure 5
AD8232 ECG sensor.Figure 6
ECG curves.The system will contain an AD8232 ECG analog sensor to monitor the ECG of a person shown in Figure5. That sensor will be connected to the body and pass an analog signal to the Arduino to convert the signal into a digital signal. This sensor is connected with the Arduino via five pins. Among them, two are for powering up the sensor. The input voltage of the sensor is 3.3 V. Other pins are the data pin, which is connected to the analog pin of the Arduino, and others are the lead pins LO+ and LO-. This lead pin analyses the electrode which is connected to the body and gives the data to the Arduino. These ECGs can be excessively noisy at times.(3) Max 30102 Finger Oximeter Heart Rate Module SpO2. The amount of oxygen circulating in the blood is referred to as the blood oxygen level. Oxygen distribution throughout the body is an indicator of detecting a healthy body and an unhealthy body. The blood oxygen level or oxygen saturation level indicates how equally oxygen is distributed in the body from the lungs to the cells. Problems in the lungs are one of the major reasons for low oxygen saturation. Breathing problems can cause a low supply of oxygen to the lungs and the body. During OSA, the breathing rate usually falls. This causes a lower supply of oxygen to the body. That change affects the rate of oxygen saturation of blood. A healthy person’s oxygen saturation, which is also referred to as SpO2, is 95% or higher. A sleep apnea patient usually has a lower SpO2 value which is usually around 90%. Lower SpO2 can cause hypoxemia. It also indicates chronic lung disease. Patients need external oxygen supply if the oxygen saturation values fall from these threshold values. Figure 7 shows the oxygen saturation during a sleep apnea situation.Figure 7
Max30102 SpO2 sensor.To measure the blood oxygen level, the system contains a sensor-based pulse oximeter. The MAX30102 sensor will be used in the system to monitor the oxygen saturation in blood shown in Figure8. This sensor combines two light-emitting diodes (LED), a photo detector, optimized optics, and low-noise analog signal processing to detect pulse oximetry. Figure 9 given below shows the system block diagram of MAX30102.Figure 8
SpO2 level during sleep apnea [20].Figure 9
System block diagram of MAX30102 [21].The main mechanism behind measuring the SpO2 value by this sensor is to detect the ratio of blood-carrying hemoglobin and blood-not-carrying hemoglobin. This sensor can measure the SpO2 value from the fingertip of a person. It operates on a voltage ranging from 3.3 V to 5 V and senses the data from person’s body and passes it to the Arduino to convert the data.(4) Galvanic Skin Response (GSR) Sensor. The galvanic skin response or GSR, also known as emotional arousal, refers to variations in sweat gland activity that reflect the degree of our emotional state [22]. It indicates the electrodermal activity of a person’s body. It is the result of sweat glands in the skin being activated by the autonomic nervous system. The skin response is different at different times of the day. It also changes with the state of mind of a person. A stressful person tends to have a lower skin response than a joyful person. The GSR value also tends to be lower during sleep. Sweating hands is also a factor in skin response. Excessive sweating is one of the main results of hypertension. It reflects the lower value of skin response.The value of GSR is measured by the conductance of the skin. The equation to measure skin response is(1)Conductance=1Resistance.The value of skin response is measured in micro-Siemens. The average value of the GSR of a normal person is in the range of 250μS to 450 μS. Sleeping GSR usually falls as the period of sleep increases. But any unusual change in skin response can cause major issues. A sudden drop in response is a symptom of sleep apnea as it can occur with sudden emotional state changes caused by stress or hypertension. Figure 10 shows the GSR sensor module, and Figure 11 shows the changes of electrodermal activity during sleep.Figure 10
GSR sensor module.Figure 11
ED activity during sleep [23].To measure the galvanic skin response during sleep and monitor sleep apnea, the system contains a wearable analog sensor. The galvanic skin response sensor enables the system to monitor sweat gland activity, which is linked to emotional arousal. This sensor is easily wearable on the finger to measure the GSR value. The sensor passes the value to the Arduino to convert it into digital data, and later, it passes to the mobile application.(5) Sound Sensor. Snoring is one of the major symptoms of obstructive sleep apnea or OSA. It indicates the problem with breathing. Snoring is a raspy or loud sound produced by air passing through relaxed tissues in the throat, causing the tissues to vibrate while you breathe. From a health standpoint, OSA-related snoring is more concerning. To detect OSA, monitoring of snoring sound and frequency is important. An unusual change in snoring replicates the intensity of the sleep apnea problem. Figure 12 shows the sound sensor module.Figure 12
Sound sensor.To measure the intensity of the snoring, the system will contain an analog sound sensor that will measure the snoring sound and determine the snoring during the sleeping period. The sound sensor is a compact board with a microphone and some processing circuitry for translating sound waves into electrical signals. In the system, the sensor is connected to the Arduino via the analog pin of the Arduino. Arduino gets the analog data from the sensor and translates it into digital for the mobile application.


#### 2.3.3. Bluetooth Module

Serial communication is the key to this IoT-based paper. For that, the system contains a Bluetooth module HC-05. This Bluetooth module is the gateway between the Arduino Uno and android application. Operated in two moods, this Bluetooth module sends or receives data to another device in one mode, and another mode is working in AT command mode to set device’s settings as default. After pairing with the Bluetooth device, the digital data will be visible in the mobile application for the user. Figure13 shows the pin out of the HC-05 Bluetooth module.Figure 13
Bluetooth module.The devices operate in a voltage range of 4 V to 6 V and a current of 30 mA. The TX (transmit) and RX (receive) pins of the Bluetooth module operate serial communication. To transmit serial data, the TX pin operates, and the RX pin works to receive data from the microcontroller. The TX pin of the Arduino is connected to the RX pin of the Bluetooth module, and the RX pin of the Arduino is connected to the TX pin of the Bluetooth module.In the system, after pairing with the Bluetooth module, the mobile application, digital data is transmitted to the app from the Arduino.


#### 2.3.4. Components and Cost

The system is quite cost-effective for detecting sleep apnea. Table1 shows the list of components required to build the system and the cost of it. The only cost of the system is for the hardware components, especially the sensors. Some of the sensors are priced at more than 850 Bangladesh taka (approximately 10 US dollars). The total cost of the system is 4570 taka ($53.76). Although the system is quite cost-effective, it is very useful for monitoring sleep apnea. One patient at a time can utilize this device, and it can be used multiple times as per the requirements.Table 1
List of components and cost.
Name of componentsUnitsCost (BD taka)Arduino Uno1400 Taka ($4.7)Heart rate sensor1300 Taka ($3.53)AD8232 ECG sensor1950 Taka ($11.18)MAX301021850 Taka ($10)Sound sensor1150 Taka ($1.76)GSR sensor11200 Taka ($14.12)HC-05 Bluetooth module1300 Taka ($3.53)Breadboard190 Taka ($1.05)Jumper wires1 box130 Taka ($1.53)Others—200 Taka ($2.35)Total =4570 Taka ($53.76)


#### 2.3.5. MIT App Inventor 2

This system contains a mobile application to show the real-time data transferred from the Arduino via Bluetooth. This application shows all of the parameters related to sleep apnea continuously. In the system, the name of the application is “sleep apnea monitoring device.” This mobile application was created using MIT App Inventor 2 [22]. It allows the user to create an application and also has the functionality to create a gateway between the hardware devices. This mobile application shows the digital data converted by Arduino UNO. To do that, the Bluetooth module HC-05 is connected to the Arduino. After pairing with the mobile and connecting to the application, the values become visible in the mobile application. The layout of the application that we made in the MIT App Inventor is shown in Figure 14.Figure 14
Sleep apnea monitoring app in the MIT App Inventor website during development.


#### 2.3.6. Full System Review and Working Process Flowchart

The system is combined with a few different steps. Every step has a different task to do, and both make it useful for the user. Our whole hardware setup is shown in Figure15. The programmable Arduino UNO program combines those different steps. A flowchart of the Arduino program is shown in Figure 16. The Arduino program is combined with different functions for the different sensors and Bluetooth modules that connect the Arduino UNO with the mobile application.Figure 15
Whole system working flowchart.Figure 16
Circuit diagram of the full system.System’s work flow started from the Arduino IDE after uploading the code to the Arduino UNO. The code contains the setup of the sensors, the working process of the sensors, and the Bluetooth module. The main function of the code is controlled by a loop which allows the system to display the data every second. The loop controls the organization of the Max30102 module, the ECG module, the sound sensor, and the GSR sensor. Also, the data conversion and transmission parts are performed in this section, and the data passed to the serial monitor, and mobile application happens in this part. After pairing the Bluetooth module with the mobile, the data is displayed on the serial monitor and also stored for detailed analysis.


#### 2.3.7. Diagrams Drawn Using Software Showing the Layout of the System

The circuit diagram with all the sensors and Arduino Uno is designed using circuito.io [24], an online IoT design platform. This website allows you to design mostly Arduino-based devices. The hardware part of the system was created on the basis of this design. A circuit diagram of the system is given in Figure 16.The hardware setup of the study was done by following the diagram shown in Figure16. The sensors are connected with the Arduino UNO in the way displayed in the diagram. The data pin of all of the sensors is connected to the analog pin of the Arduino individually, as shown in the figure, which is also connected to the positive and negative pins of the breadboard to get power. The Bluetooth module is connected to two of the I/O pins of the Arduino to continue serial communication.


## 2.1. Methodology Statements

This section discusses the methods, components and paths that are used to fulfill the goal. The aim of the system is to monitor the entire sleeping period of a patient with sleeping disorders. This microcontroller-based sleep apnea monitoring system for sleeping disorder patients is combined with three different layers. The main layer is a microcontroller unit which connects the input layer and the output layer. In the input layer, it is combined with four different sensors which will provide the analog signal to the Arduino UNO to measure the different indexes of sleep condition. The output layer is combined with two parts, including the serial monitor of the Arduino UNO and a mobile application to display the digital data converted by the microcontroller.


## 2.2. Outline of the System

A block diagram shows the full system in Figure1. The system consists of input, output, and a microcontroller board Arduino UNO shown in Figure 2. The Arduino board, which is also connected to the output layer, combined with the serial monitor of the Arduino board, and a Massachusetts Institute of Technology (MIT) App Inventor-based mobile application connected to a Bluetooth module show the converted digital data to the viewer.Figure 1
Full system block diagram by which the system works successfully.Figure 2
Arduino UNO Pinout [18].Figure1 shows the basic workflow of the system. The sensors provide the data to the Arduino UNO simultaneously, and the Arduino UNO passes the converted digital data to the Arduino IDE (Integrated Development Environment)’s serial monitor and also to the mobile application through the Bluetooth module at the same time.


## 2.3. Modules and Materials

The system is integrated with different kinds of components that are doing different tasks in the system. Some are for the input, some are for the output, and some are used in the system to create a bridge between the inputs and outputs.


### 2.3.1. Arduino UNO

The Arduino UNO, shown in Figure2, is system’s major component, and it is based on the VR Microcontroller Atmega328. This programmable microcontroller has the capacity to connect to other sensors or computers, allowing it to be used in many projects. It has 2 KB of SRAM (static random access memory) and 32 KB of flash memory, 13 KB of which is utilized to store the set of instructions in the form of code. It also includes a 1 KB EEPROM (electrically erasable programmable read-only memory).This Arduino board has a total of 30 connections, with 14 digital pins and 6 analog pins for external connection. The A0 to A5 analog pins are used to receive analog data from external devices such as analog sensors. On the board, there are various digital and analog input and output pins that operate at 5 V. These pins have conventional operational current ratings of 20 to 40 milliamps. The DC power jack may provide a voltage ranging from 7 V to 20 V, or the USB connected to an external device can provide a 5 V voltage. Data transmission is the key for IoT devices. To receive, transmit data, and maintain serial communication, two pins called Pin 0 (Rx) and Pin 1 (Tx) work simultaneously. The Rx pin receives data, whereas the Tx pin transmits data. Serial communication can also be done by other input/output (I/O) pins of the board. The serial monitor of the Arduino IDE software is used to send or receive text data from the board. It is used to display the output data from the Arduino board.


### 2.3.2. Sensors

There are several sensors to monitor patient’s condition during sleep. To monitor and analyze sleep apnea, the system contains a few sensors that will fulfill the major goals. The heart rate module, SpO2, pulse sensor, ECG sensor, galvanic skin response (GSR) sensor, and sound sensor to monitor the snoring sound of the patient during sleep have been used in the system. These six sensors will monitor the patients during sleep and will provide analog data to the Arduino UNO.(1) Heart Rate Pulse Sensor. Difficulties with breathing and sleep apnea problems are very much related to the heart rate of the patient. The system contains a heart rate pulse sensor to monitor the heart rate of the patient throughout the sleeping period. A high heart rate is one of the major risk factors for sleep apnea. The normal heart rate of a healthy person is in the range of 60-100 beats per minute (bpm). The heart rate varies from person to person. More physically active people usually have a lower heart rate than less active people. A higher and unusual change in heart rate is a major sign of sleeping disorders. Figure 3 shows the heart rate pulse sensor.Figure 3
Heart rate pulse sensor.The heart rate during sleep is usually lower than at other times of the day. The average heart rate of a person during sleep is usually around 60-80 bpm, as shown in Figure4, but a healthy and fit person has a lower heart rate in the range of 50-60 bpm during the sleeping period.Figure 4
Heart rate during sleep [19].An unusual change in heart rate is one of the symptoms of sleep apnea. A lower heart rate can occur due to a lack of oxygen supply in the body. It could happen when the breathing of a person stopped due to any unusual reason. A higher heart rate is also a result of sleep apnea. Because of hypertension and stress, a higher heart rate can occur. And it usually hampers the usual sleep of a person. It is one of the main reasons for heart failure during sleep.The system will include a heart rate sensor to continuously monitor person’s heart status. This is an analog sensor, and the sensing element of the sensor will be attached to person’s body. This will send the analog signal to the Arduino through the analog pin. The heart pulse sensor is depicted in Figure3. The data pin of the sensor is connected with one of the analog pins of the Arduino for data transmission. This sensor operates on a voltage of 5 V and 4 mA current.(2) AD8232 ECG Sensor. An electrocardiogram, or ECG, is very important in monitoring sleep apnea. An ECG provides information about the heart rate and the rhythm of the heart. It also shows the unusual change in the heart rate. It can provide the state of the heart during the sleeping period, whether there is any kind of enlargement of the heart occurring due to hypertension, and can also detect myocardial infarction. The ECG varies person to person for several reasons. A physically active person has a more stable ECG than an inactive person’s ECG. The resting ECG is different from the stress or exercise ECG. Figure 5 shows the AD8232 ECG sensor used in this research. Figure 6 given below will show the ECG values during sleep.Figure 5
AD8232 ECG sensor.Figure 6
ECG curves.The system will contain an AD8232 ECG analog sensor to monitor the ECG of a person shown in Figure5. That sensor will be connected to the body and pass an analog signal to the Arduino to convert the signal into a digital signal. This sensor is connected with the Arduino via five pins. Among them, two are for powering up the sensor. The input voltage of the sensor is 3.3 V. Other pins are the data pin, which is connected to the analog pin of the Arduino, and others are the lead pins LO+ and LO-. This lead pin analyses the electrode which is connected to the body and gives the data to the Arduino. These ECGs can be excessively noisy at times.(3) Max 30102 Finger Oximeter Heart Rate Module SpO2. The amount of oxygen circulating in the blood is referred to as the blood oxygen level. Oxygen distribution throughout the body is an indicator of detecting a healthy body and an unhealthy body. The blood oxygen level or oxygen saturation level indicates how equally oxygen is distributed in the body from the lungs to the cells. Problems in the lungs are one of the major reasons for low oxygen saturation. Breathing problems can cause a low supply of oxygen to the lungs and the body. During OSA, the breathing rate usually falls. This causes a lower supply of oxygen to the body. That change affects the rate of oxygen saturation of blood. A healthy person’s oxygen saturation, which is also referred to as SpO2, is 95% or higher. A sleep apnea patient usually has a lower SpO2 value which is usually around 90%. Lower SpO2 can cause hypoxemia. It also indicates chronic lung disease. Patients need external oxygen supply if the oxygen saturation values fall from these threshold values. Figure 7 shows the oxygen saturation during a sleep apnea situation.Figure 7
Max30102 SpO2 sensor.To measure the blood oxygen level, the system contains a sensor-based pulse oximeter. The MAX30102 sensor will be used in the system to monitor the oxygen saturation in blood shown in Figure8. This sensor combines two light-emitting diodes (LED), a photo detector, optimized optics, and low-noise analog signal processing to detect pulse oximetry. Figure 9 given below shows the system block diagram of MAX30102.Figure 8
SpO2 level during sleep apnea [20].Figure 9
System block diagram of MAX30102 [21].The main mechanism behind measuring the SpO2 value by this sensor is to detect the ratio of blood-carrying hemoglobin and blood-not-carrying hemoglobin. This sensor can measure the SpO2 value from the fingertip of a person. It operates on a voltage ranging from 3.3 V to 5 V and senses the data from person’s body and passes it to the Arduino to convert the data.(4) Galvanic Skin Response (GSR) Sensor. The galvanic skin response or GSR, also known as emotional arousal, refers to variations in sweat gland activity that reflect the degree of our emotional state [22]. It indicates the electrodermal activity of a person’s body. It is the result of sweat glands in the skin being activated by the autonomic nervous system. The skin response is different at different times of the day. It also changes with the state of mind of a person. A stressful person tends to have a lower skin response than a joyful person. The GSR value also tends to be lower during sleep. Sweating hands is also a factor in skin response. Excessive sweating is one of the main results of hypertension. It reflects the lower value of skin response.The value of GSR is measured by the conductance of the skin. The equation to measure skin response is(1)Conductance=1Resistance.The value of skin response is measured in micro-Siemens. The average value of the GSR of a normal person is in the range of 250μS to 450 μS. Sleeping GSR usually falls as the period of sleep increases. But any unusual change in skin response can cause major issues. A sudden drop in response is a symptom of sleep apnea as it can occur with sudden emotional state changes caused by stress or hypertension. Figure 10 shows the GSR sensor module, and Figure 11 shows the changes of electrodermal activity during sleep.Figure 10
GSR sensor module.Figure 11
ED activity during sleep [23].To measure the galvanic skin response during sleep and monitor sleep apnea, the system contains a wearable analog sensor. The galvanic skin response sensor enables the system to monitor sweat gland activity, which is linked to emotional arousal. This sensor is easily wearable on the finger to measure the GSR value. The sensor passes the value to the Arduino to convert it into digital data, and later, it passes to the mobile application.(5) Sound Sensor. Snoring is one of the major symptoms of obstructive sleep apnea or OSA. It indicates the problem with breathing. Snoring is a raspy or loud sound produced by air passing through relaxed tissues in the throat, causing the tissues to vibrate while you breathe. From a health standpoint, OSA-related snoring is more concerning. To detect OSA, monitoring of snoring sound and frequency is important. An unusual change in snoring replicates the intensity of the sleep apnea problem. Figure 12 shows the sound sensor module.Figure 12
Sound sensor.To measure the intensity of the snoring, the system will contain an analog sound sensor that will measure the snoring sound and determine the snoring during the sleeping period. The sound sensor is a compact board with a microphone and some processing circuitry for translating sound waves into electrical signals. In the system, the sensor is connected to the Arduino via the analog pin of the Arduino. Arduino gets the analog data from the sensor and translates it into digital for the mobile application.


### 2.3.3. Bluetooth Module

Serial communication is the key to this IoT-based paper. For that, the system contains a Bluetooth module HC-05. This Bluetooth module is the gateway between the Arduino Uno and android application. Operated in two moods, this Bluetooth module sends or receives data to another device in one mode, and another mode is working in AT command mode to set device’s settings as default. After pairing with the Bluetooth device, the digital data will be visible in the mobile application for the user. Figure13 shows the pin out of the HC-05 Bluetooth module.Figure 13
Bluetooth module.The devices operate in a voltage range of 4 V to 6 V and a current of 30 mA. The TX (transmit) and RX (receive) pins of the Bluetooth module operate serial communication. To transmit serial data, the TX pin operates, and the RX pin works to receive data from the microcontroller. The TX pin of the Arduino is connected to the RX pin of the Bluetooth module, and the RX pin of the Arduino is connected to the TX pin of the Bluetooth module.In the system, after pairing with the Bluetooth module, the mobile application, digital data is transmitted to the app from the Arduino.


### 2.3.4. Components and Cost

The system is quite cost-effective for detecting sleep apnea. Table1 shows the list of components required to build the system and the cost of it. The only cost of the system is for the hardware components, especially the sensors. Some of the sensors are priced at more than 850 Bangladesh taka (approximately 10 US dollars). The total cost of the system is 4570 taka ($53.76). Although the system is quite cost-effective, it is very useful for monitoring sleep apnea. One patient at a time can utilize this device, and it can be used multiple times as per the requirements.Table 1
List of components and cost.
Name of componentsUnitsCost (BD taka)Arduino Uno1400 Taka ($4.7)Heart rate sensor1300 Taka ($3.53)AD8232 ECG sensor1950 Taka ($11.18)MAX301021850 Taka ($10)Sound sensor1150 Taka ($1.76)GSR sensor11200 Taka ($14.12)HC-05 Bluetooth module1300 Taka ($3.53)Breadboard190 Taka ($1.05)Jumper wires1 box130 Taka ($1.53)Others—200 Taka ($2.35)Total =4570 Taka ($53.76)


### 2.3.5. MIT App Inventor 2

This system contains a mobile application to show the real-time data transferred from the Arduino via Bluetooth. This application shows all of the parameters related to sleep apnea continuously. In the system, the name of the application is “sleep apnea monitoring device.” This mobile application was created using MIT App Inventor 2 [22]. It allows the user to create an application and also has the functionality to create a gateway between the hardware devices. This mobile application shows the digital data converted by Arduino UNO. To do that, the Bluetooth module HC-05 is connected to the Arduino. After pairing with the mobile and connecting to the application, the values become visible in the mobile application. The layout of the application that we made in the MIT App Inventor is shown in Figure 14.Figure 14
Sleep apnea monitoring app in the MIT App Inventor website during development.


### 2.3.6. Full System Review and Working Process Flowchart

The system is combined with a few different steps. Every step has a different task to do, and both make it useful for the user. Our whole hardware setup is shown in Figure15. The programmable Arduino UNO program combines those different steps. A flowchart of the Arduino program is shown in Figure 16. The Arduino program is combined with different functions for the different sensors and Bluetooth modules that connect the Arduino UNO with the mobile application.Figure 15
Whole system working flowchart.Figure 16
Circuit diagram of the full system.System’s work flow started from the Arduino IDE after uploading the code to the Arduino UNO. The code contains the setup of the sensors, the working process of the sensors, and the Bluetooth module. The main function of the code is controlled by a loop which allows the system to display the data every second. The loop controls the organization of the Max30102 module, the ECG module, the sound sensor, and the GSR sensor. Also, the data conversion and transmission parts are performed in this section, and the data passed to the serial monitor, and mobile application happens in this part. After pairing the Bluetooth module with the mobile, the data is displayed on the serial monitor and also stored for detailed analysis.


### 2.3.7. Diagrams Drawn Using Software Showing the Layout of the System

The circuit diagram with all the sensors and Arduino Uno is designed using circuito.io [24], an online IoT design platform. This website allows you to design mostly Arduino-based devices. The hardware part of the system was created on the basis of this design. A circuit diagram of the system is given in Figure 16.The hardware setup of the study was done by following the diagram shown in Figure16. The sensors are connected with the Arduino UNO in the way displayed in the diagram. The data pin of all of the sensors is connected to the analog pin of the Arduino individually, as shown in the figure, which is also connected to the positive and negative pins of the breadboard to get power. The Bluetooth module is connected to two of the I/O pins of the Arduino to continue serial communication.


## 2.3.1. Arduino UNO

The Arduino UNO, shown in Figure2, is system’s major component, and it is based on the VR Microcontroller Atmega328. This programmable microcontroller has the capacity to connect to other sensors or computers, allowing it to be used in many projects. It has 2 KB of SRAM (static random access memory) and 32 KB of flash memory, 13 KB of which is utilized to store the set of instructions in the form of code. It also includes a 1 KB EEPROM (electrically erasable programmable read-only memory).This Arduino board has a total of 30 connections, with 14 digital pins and 6 analog pins for external connection. The A0 to A5 analog pins are used to receive analog data from external devices such as analog sensors. On the board, there are various digital and analog input and output pins that operate at 5 V. These pins have conventional operational current ratings of 20 to 40 milliamps. The DC power jack may provide a voltage ranging from 7 V to 20 V, or the USB connected to an external device can provide a 5 V voltage. Data transmission is the key for IoT devices. To receive, transmit data, and maintain serial communication, two pins called Pin 0 (Rx) and Pin 1 (Tx) work simultaneously. The Rx pin receives data, whereas the Tx pin transmits data. Serial communication can also be done by other input/output (I/O) pins of the board. The serial monitor of the Arduino IDE software is used to send or receive text data from the board. It is used to display the output data from the Arduino board.


## 2.3.2. Sensors

There are several sensors to monitor patient’s condition during sleep. To monitor and analyze sleep apnea, the system contains a few sensors that will fulfill the major goals. The heart rate module, SpO2, pulse sensor, ECG sensor, galvanic skin response (GSR) sensor, and sound sensor to monitor the snoring sound of the patient during sleep have been used in the system. These six sensors will monitor the patients during sleep and will provide analog data to the Arduino UNO.(1) Heart Rate Pulse Sensor. Difficulties with breathing and sleep apnea problems are very much related to the heart rate of the patient. The system contains a heart rate pulse sensor to monitor the heart rate of the patient throughout the sleeping period. A high heart rate is one of the major risk factors for sleep apnea. The normal heart rate of a healthy person is in the range of 60-100 beats per minute (bpm). The heart rate varies from person to person. More physically active people usually have a lower heart rate than less active people. A higher and unusual change in heart rate is a major sign of sleeping disorders. Figure 3 shows the heart rate pulse sensor.Figure 3
Heart rate pulse sensor.The heart rate during sleep is usually lower than at other times of the day. The average heart rate of a person during sleep is usually around 60-80 bpm, as shown in Figure4, but a healthy and fit person has a lower heart rate in the range of 50-60 bpm during the sleeping period.Figure 4
Heart rate during sleep [19].An unusual change in heart rate is one of the symptoms of sleep apnea. A lower heart rate can occur due to a lack of oxygen supply in the body. It could happen when the breathing of a person stopped due to any unusual reason. A higher heart rate is also a result of sleep apnea. Because of hypertension and stress, a higher heart rate can occur. And it usually hampers the usual sleep of a person. It is one of the main reasons for heart failure during sleep.The system will include a heart rate sensor to continuously monitor person’s heart status. This is an analog sensor, and the sensing element of the sensor will be attached to person’s body. This will send the analog signal to the Arduino through the analog pin. The heart pulse sensor is depicted in Figure3. The data pin of the sensor is connected with one of the analog pins of the Arduino for data transmission. This sensor operates on a voltage of 5 V and 4 mA current.(2) AD8232 ECG Sensor. An electrocardiogram, or ECG, is very important in monitoring sleep apnea. An ECG provides information about the heart rate and the rhythm of the heart. It also shows the unusual change in the heart rate. It can provide the state of the heart during the sleeping period, whether there is any kind of enlargement of the heart occurring due to hypertension, and can also detect myocardial infarction. The ECG varies person to person for several reasons. A physically active person has a more stable ECG than an inactive person’s ECG. The resting ECG is different from the stress or exercise ECG. Figure 5 shows the AD8232 ECG sensor used in this research. Figure 6 given below will show the ECG values during sleep.Figure 5
AD8232 ECG sensor.Figure 6
ECG curves.The system will contain an AD8232 ECG analog sensor to monitor the ECG of a person shown in Figure5. That sensor will be connected to the body and pass an analog signal to the Arduino to convert the signal into a digital signal. This sensor is connected with the Arduino via five pins. Among them, two are for powering up the sensor. The input voltage of the sensor is 3.3 V. Other pins are the data pin, which is connected to the analog pin of the Arduino, and others are the lead pins LO+ and LO-. This lead pin analyses the electrode which is connected to the body and gives the data to the Arduino. These ECGs can be excessively noisy at times.(3) Max 30102 Finger Oximeter Heart Rate Module SpO2. The amount of oxygen circulating in the blood is referred to as the blood oxygen level. Oxygen distribution throughout the body is an indicator of detecting a healthy body and an unhealthy body. The blood oxygen level or oxygen saturation level indicates how equally oxygen is distributed in the body from the lungs to the cells. Problems in the lungs are one of the major reasons for low oxygen saturation. Breathing problems can cause a low supply of oxygen to the lungs and the body. During OSA, the breathing rate usually falls. This causes a lower supply of oxygen to the body. That change affects the rate of oxygen saturation of blood. A healthy person’s oxygen saturation, which is also referred to as SpO2, is 95% or higher. A sleep apnea patient usually has a lower SpO2 value which is usually around 90%. Lower SpO2 can cause hypoxemia. It also indicates chronic lung disease. Patients need external oxygen supply if the oxygen saturation values fall from these threshold values. Figure 7 shows the oxygen saturation during a sleep apnea situation.Figure 7
Max30102 SpO2 sensor.To measure the blood oxygen level, the system contains a sensor-based pulse oximeter. The MAX30102 sensor will be used in the system to monitor the oxygen saturation in blood shown in Figure8. This sensor combines two light-emitting diodes (LED), a photo detector, optimized optics, and low-noise analog signal processing to detect pulse oximetry. Figure 9 given below shows the system block diagram of MAX30102.Figure 8
SpO2 level during sleep apnea [20].Figure 9
System block diagram of MAX30102 [21].The main mechanism behind measuring the SpO2 value by this sensor is to detect the ratio of blood-carrying hemoglobin and blood-not-carrying hemoglobin. This sensor can measure the SpO2 value from the fingertip of a person. It operates on a voltage ranging from 3.3 V to 5 V and senses the data from person’s body and passes it to the Arduino to convert the data.(4) Galvanic Skin Response (GSR) Sensor. The galvanic skin response or GSR, also known as emotional arousal, refers to variations in sweat gland activity that reflect the degree of our emotional state [22]. It indicates the electrodermal activity of a person’s body. It is the result of sweat glands in the skin being activated by the autonomic nervous system. The skin response is different at different times of the day. It also changes with the state of mind of a person. A stressful person tends to have a lower skin response than a joyful person. The GSR value also tends to be lower during sleep. Sweating hands is also a factor in skin response. Excessive sweating is one of the main results of hypertension. It reflects the lower value of skin response.The value of GSR is measured by the conductance of the skin. The equation to measure skin response is(1)Conductance=1Resistance.The value of skin response is measured in micro-Siemens. The average value of the GSR of a normal person is in the range of 250μS to 450 μS. Sleeping GSR usually falls as the period of sleep increases. But any unusual change in skin response can cause major issues. A sudden drop in response is a symptom of sleep apnea as it can occur with sudden emotional state changes caused by stress or hypertension. Figure 10 shows the GSR sensor module, and Figure 11 shows the changes of electrodermal activity during sleep.Figure 10
GSR sensor module.Figure 11
ED activity during sleep [23].To measure the galvanic skin response during sleep and monitor sleep apnea, the system contains a wearable analog sensor. The galvanic skin response sensor enables the system to monitor sweat gland activity, which is linked to emotional arousal. This sensor is easily wearable on the finger to measure the GSR value. The sensor passes the value to the Arduino to convert it into digital data, and later, it passes to the mobile application.(5) Sound Sensor. Snoring is one of the major symptoms of obstructive sleep apnea or OSA. It indicates the problem with breathing. Snoring is a raspy or loud sound produced by air passing through relaxed tissues in the throat, causing the tissues to vibrate while you breathe. From a health standpoint, OSA-related snoring is more concerning. To detect OSA, monitoring of snoring sound and frequency is important. An unusual change in snoring replicates the intensity of the sleep apnea problem. Figure 12 shows the sound sensor module.Figure 12
Sound sensor.To measure the intensity of the snoring, the system will contain an analog sound sensor that will measure the snoring sound and determine the snoring during the sleeping period. The sound sensor is a compact board with a microphone and some processing circuitry for translating sound waves into electrical signals. In the system, the sensor is connected to the Arduino via the analog pin of the Arduino. Arduino gets the analog data from the sensor and translates it into digital for the mobile application.


## 2.3.3. Bluetooth Module

Serial communication is the key to this IoT-based paper. For that, the system contains a Bluetooth module HC-05. This Bluetooth module is the gateway between the Arduino Uno and android application. Operated in two moods, this Bluetooth module sends or receives data to another device in one mode, and another mode is working in AT command mode to set device’s settings as default. After pairing with the Bluetooth device, the digital data will be visible in the mobile application for the user. Figure13 shows the pin out of the HC-05 Bluetooth module.Figure 13
Bluetooth module.The devices operate in a voltage range of 4 V to 6 V and a current of 30 mA. The TX (transmit) and RX (receive) pins of the Bluetooth module operate serial communication. To transmit serial data, the TX pin operates, and the RX pin works to receive data from the microcontroller. The TX pin of the Arduino is connected to the RX pin of the Bluetooth module, and the RX pin of the Arduino is connected to the TX pin of the Bluetooth module.In the system, after pairing with the Bluetooth module, the mobile application, digital data is transmitted to the app from the Arduino.


## 2.3.4. Components and Cost

The system is quite cost-effective for detecting sleep apnea. Table1 shows the list of components required to build the system and the cost of it. The only cost of the system is for the hardware components, especially the sensors. Some of the sensors are priced at more than 850 Bangladesh taka (approximately 10 US dollars). The total cost of the system is 4570 taka ($53.76). Although the system is quite cost-effective, it is very useful for monitoring sleep apnea. One patient at a time can utilize this device, and it can be used multiple times as per the requirements.Table 1
List of components and cost.
Name of componentsUnitsCost (BD taka)Arduino Uno1400 Taka ($4.7)Heart rate sensor1300 Taka ($3.53)AD8232 ECG sensor1950 Taka ($11.18)MAX301021850 Taka ($10)Sound sensor1150 Taka ($1.76)GSR sensor11200 Taka ($14.12)HC-05 Bluetooth module1300 Taka ($3.53)Breadboard190 Taka ($1.05)Jumper wires1 box130 Taka ($1.53)Others—200 Taka ($2.35)Total =4570 Taka ($53.76)


## 2.3.5. MIT App Inventor 2

This system contains a mobile application to show the real-time data transferred from the Arduino via Bluetooth. This application shows all of the parameters related to sleep apnea continuously. In the system, the name of the application is “sleep apnea monitoring device.” This mobile application was created using MIT App Inventor 2 [22]. It allows the user to create an application and also has the functionality to create a gateway between the hardware devices. This mobile application shows the digital data converted by Arduino UNO. To do that, the Bluetooth module HC-05 is connected to the Arduino. After pairing with the mobile and connecting to the application, the values become visible in the mobile application. The layout of the application that we made in the MIT App Inventor is shown in Figure 14.Figure 14
Sleep apnea monitoring app in the MIT App Inventor website during development.


## 2.3.6. Full System Review and Working Process Flowchart

The system is combined with a few different steps. Every step has a different task to do, and both make it useful for the user. Our whole hardware setup is shown in Figure15. The programmable Arduino UNO program combines those different steps. A flowchart of the Arduino program is shown in Figure 16. The Arduino program is combined with different functions for the different sensors and Bluetooth modules that connect the Arduino UNO with the mobile application.Figure 15
Whole system working flowchart.Figure 16
Circuit diagram of the full system.System’s work flow started from the Arduino IDE after uploading the code to the Arduino UNO. The code contains the setup of the sensors, the working process of the sensors, and the Bluetooth module. The main function of the code is controlled by a loop which allows the system to display the data every second. The loop controls the organization of the Max30102 module, the ECG module, the sound sensor, and the GSR sensor. Also, the data conversion and transmission parts are performed in this section, and the data passed to the serial monitor, and mobile application happens in this part. After pairing the Bluetooth module with the mobile, the data is displayed on the serial monitor and also stored for detailed analysis.


## 2.3.7. Diagrams Drawn Using Software Showing the Layout of the System

The circuit diagram with all the sensors and Arduino Uno is designed using circuito.io [24], an online IoT design platform. This website allows you to design mostly Arduino-based devices. The hardware part of the system was created on the basis of this design. A circuit diagram of the system is given in Figure 16.The hardware setup of the study was done by following the diagram shown in Figure16. The sensors are connected with the Arduino UNO in the way displayed in the diagram. The data pin of all of the sensors is connected to the analog pin of the Arduino individually, as shown in the figure, which is also connected to the positive and negative pins of the breadboard to get power. The Bluetooth module is connected to two of the I/O pins of the Arduino to continue serial communication.


## 3. Result and Analysis

In this investigation, it has been discovered and managed to deconstruct a number of outcomes. In the next sections, the results and observations will be discussed in more detail.


### 3.1. Patient List of Examination

To detect sleep apnea in patients, the system monitored different people from different age groups and different health conditions. The system examined both male and females and got to see quite remarkable differences. The device attempted to examine a patient with various health issues because previous health reports and disease history are one of the factors contributing to sleep apnea. The focus was on the body condition of the person before monitoring sleep apnea. The IoT device monitors the patients and provides us the results against all of the parameters. The list of persons examined by the system is given below in Table2 with their age group and gender.Table 2
Lists of people that has been examined.
List of personAge groupGenderBody statusPerson 15-17MaleNormalPerson 218-35MaleOverweight, excessive sweating problemPerson 318-35MalePhysically fit (athlete)Person 436-50FemaleMajor heart issue, obesePerson 550+MaleLung issue


### 3.2. Design Prototype and View of Real-Time Data

After connecting all of the sensors to the Arduino and uploading the code to the board, the values of all the parameters appear on the screen and in the mobile application. The system works successfully to monitor sleep apnea. Figure17 shows the hardware part of the prototype of the system.Figure 17
Prototype of the system.The prototype system is integrated with the Arduino, sensors, and the Bluetooth module. Five different sensors are integrated in the system. Those sensors are marked in Figure17. The system includes a GSR sensor to measure the skin response, a pulse sensor to measure the heart rate, a Max30102 sensor to measure oxygen saturation (SpO2), an ECG sensor to monitor the electrocardiograms of the heart, and a sound sensor to measure the snoring intensity integrated into the system. The HC-05 Bluetooth module is in the system to perform serial communication between the hardware part and the mobile application.Figure18 shows the prototype of the system during monitoring of a patient. The prototype of the system is an easily wearable device. It does not hamper the sleep of the patient. The application shown in Figure 19 shows the real-time results of oxygen saturation (SpO2), heart rate, galvanic skin response, and sound intensity level. The mobile application can show the ECG graphs of the patients. But the serial plotter of the Arduino gives better ECG results.Figure 18
Sleep apnea monitoring on a patient.Figure 19
Mobile application showing real-time result.


### 3.3. Data Sheet and Analytical Charts for Different Parameters

In the experiment, the system monitors person’s sleeping period from some different perspectives and tries to see how body’s condition changes during the sleeping period. For that, it monitored the patient for six straight hours and analyzed how different parameters changed every hour.


#### 3.3.1. Heart Rate Analysis

Table3 shows the results of the heart rate for the five people. It shows how the heart rates of different people change over hours. The values indicate how the heart rate of a person changes from the start of sleep to the end of sleep. In the experiment, we measured the value of heart rate every second throughout the period and checked the highest, lowest, and value that clicked most of the time. After checking the values, we took the decision to calculate the average heart rate in each hour. The average value reflects the heart rate that the person had at their maximum time in that specific hour. In the experiment for every person, the values are in some specific pattern, and in all cases, they follow the body condition of the person. Person 1, who does not have any major health issues, has a very balanced heart rate throughout the sleeping period. The results do not provide any indication of sleep apnea. The same goes for person 3, who is an athlete and has very good physical condition. His heart rate is in the range of 67-76 beats per minute during the period. That value is quite standard for a healthy person. But, for other people, the results do show some of the major hints about sleep apnea. Person 2 has an uneven change in heart rate. This person has a heart rate of around 90 bpm. In the third hour of sleep, his heart rate falls. One of the most serious consequences of breathing difficulties is a low heart rate, also known as Bradycardia. In that case, that low heart rate indicates obstructive sleep apnea in that patient. On the other hand, people 4 and 5 have a higher heart rate. According to the history, person 4 has a major heart problem, which suggests that a higher heart rate could be the cause of both the heart problem and obesity.Table 3
Result of BPM.
HourPerson 1Person 2Person 3Person 4Person 51st hour73.0188.6769.37100.2474.322nd hour76.3988.6368.1798.4882.673rd hour67.3362.7367.2997.1287.234th hour72.8283.2175.8779.5489.565th hour78.3891.0467.582.9676.986th hour78.8785.3473.6890.0273.57Mean BPM74.4783.2770.3191.3980.72The average value of BPM of test subjects varied from person to person for different ages, physical conditions, and previous health issues. There is quite a massive variation in the BPM of different persons. From Table3, it is noted that the mean value of the heart rate for person one is 74.47, while for person 4, it is noticed to be 91.39.For comparison of heart rate among the people, Figure20 shows how heart rate changes because of the physical condition of the people.Figure 20
Line chart for heart rate.The line chart of heart rate in Figure20 shows the average heart rate of a person changing over the course of an hour. In the line chart, it is visible that most of the people have an uneven change in heart rate. The differences between the lines of one person and another person indicate the difference in their age group and body condition.


#### 3.3.2. SpO2 Analysis

Table4 shows the oxygen saturation for the five people. It shows the change of oxygen saturation over hours. In the experiment, the system calculates the SpO2 value every second with the sensor-based pulse oximeter. The SpO2 value always stayed within a particular range for all the people. For that reason, we took the average SpO2 value for every hour of the sleeping period. All of the people have quite good oxygen saturation levels throughout the monitoring period, except for person 5, who has very low oxygen saturation during the third and fourth hours of sleep. That is one of the symptoms of breathing problems. A low rate of breathing declines the rate of oxygen supply to the body, and it decreases the level of oxygen saturation. That low SpO2 value is an indication of obstructive sleep apnea.Table 4
Result of SpO2.
HourPerson 1Person 2Person 3Person 4Person 51st hour95.5695.9097.1295.7195.872nd hour95.9795.7998.1196.4594.153rd hour95.6895.9697.7096.7393.784th hour95.8396.1297.2296.4693.635th hour96.0496.0098.3797.4994.126th hour95.8195.9498.3696.0795.73Mean SpO295.8295.9597.8196.4994.55The average value of oxygen saturation for different people shown in Table4 shows some variations. Although the variation is not significant, for person 5, the value is a little lower, and for person 3, the value is higher than the other. Person 5 has a mean SpO2 of 94.55, while person 3 has a mean SpO2 of 97.81.The line chart for SpO2 in Figure21 shows how the level of oxygen saturation changes over time more precisely.Figure 21
Line chart for oxygen saturation (SpO2).The line chart for the five people in Figure21 shows the change in oxygen saturation during different hours of the sleeping period. It reflects how oxygen distribution happens in the bodies of those five people over the hours.


#### 3.3.3. Galvanic Skin Response (GSR) Analysis

Galvanic skin response (GSR) values for the five people are shown in Table5. It shows every person’s electrodermal activity throughout the sleeping period. The value indicates how a person’s state of mind changes over time during sleep because of stress or hypertension. During the experiment, the system monitors person’s electrodermal activity via the sensor and shows the response of the skin every second. The response of the skin changes gradually for every person. For person 1, the response of the skin is quite balanced throughout the sleeping time, and it does not show any hint of sleep apnea, and also for person 3, as his skin response is highest among the others. But for person 2, person 4, and person 5, the result shows an uneven change in skin response. For person 2, the value of GSR goes down in the 3rd hour and also in the last two hours. It shows the chance of stress and hypertension problems during sleep. Person 4 has the lowest GSR value among all of the people the system monitored. In the first two hours, the values of skin response do not show any change, which can lead to a decision about sleep apnea. But from the 3rd hour to the end of the sleep, the GSR value reflects the change of very low dermal activity, which can be the reason for sleep apnea. Person 5 also has quite a low skin response, but the value throughout the time does not change significantly, and in that case, there is no evidence for sleep apnea for person 5.Table 5
Result of GSR.
HourPerson 1Person 2Person 3Person 4Person 51st hour231.03181.81348.2188.88190.542nd hour235.47254.87269.35150.03216.473rd hour264.67134.34265.4174.22142.794th hour221.74154.95217.13123.25135.385th hour193.13123.82253.77119.51147.906th hour207.18125.21298.82118.08164.27Mean GSR225.54162.5275.45128.95166.23The mean of galvanic skin response for five people in Table5 shows significant variations in the skin response over the hour. The lowest value (162.5) of GSR is noticed for person 2, whereas the highest value (225.54) is noticed for person 1. The line chart shows the change in galvanic skin response for the five people over the hour in Figure 22 more precisely.Figure 22
Line chart for galvanic skin response.


#### 3.3.4. Sound Intensity Analysis

Snoring, which is a symptom of obstructive sleep apnea, was detected in three of the people the system monitored. The snoring sound followed a pattern for each person. In the experiment to detect snoring, the sensor collects data every second. The result shows that, for a specific person, the sound follows a similar rhythm throughout the sleeping time. The graph in Figures23(a)–23(e) depicts the snoring rhythms of the people studied.Figure 23
Snoring cycle of 5 persons; (a), (b), (c), (d), and (e) show the sound intensity of person 1, person 2, person 3, person 4, and person 5, respectively.
(a)(b)(c)(d)(e)Person 3 has a very balanced rhythm in the breathing cycles. There is no evidence of snoring visible in Figure23(c). The sound level stayed in the range of 35 dB-40 dB, which is usually for room sound. But for person 4 and person 5, there is a big problem with snoring, as it is visible in Figures 23(d) and 23(e). For person 4, the figure shows that the snoring sound reached almost 60 dB, and every snoring cycle took 3-5 seconds. That is big evidence of problems with breathing and also a sign of obstructive sleep apnea. The same goes for person 5, as snoring intensity touches the 60 dB mark. The breathing rate is lower than the normal rate as the breathing cycle for person 5 took 4-6 seconds. Both people faced problems with breathing during sleep, which is a sign of sleep apnea.


#### 3.3.5. ECG Analysis

Figure24 depicts the heart rhythm or ECG graph for test person 4. Person 1, person 2, person 3, and person 5 have a very balanced ECG result. But the ECG graphs of person 4 show some uneven changes in the rhythm of the heart.Figure 24
ECG graph of test person 4.In Figure24, there are six waves that are the top picks of the graph. Those spikes are also known as R-wave. It shows how time elapsed between endocardium to epicardium. It is also helpful for some of the major heart issues. Loss of R-wave indicates myocardial infarction, which is visible in the first R-pick in Figure 24. The gain of R-wave indicates cardiomyopathy, which is the 5th R-pick of the graph.


### 3.4. Comparative Analysis

The outcome of the system has been compared to some other research that has been monitoring sleep apnea with similar kinds of parameters shown in Table6. It also shows the parameters that were not used in other research.Table 6
Comparison table with previous studies.
ReferenceMain parametersResult (final or mean)In the paper [25]Oxygen saturation (SpO2)(91.3±2.0) %The oxygen saturation for sleep apnea patients is in this rangeIn the paper [6]Heart rate(70.9±2.2) bpmThe study detected sleep apnea in this range of heart rate.In the paper [26]Polysomonography91.8% to 96.5% accuracy on adaptive apnea indexIn the paper [27]Snoring sound intensity45 dB to 58 dB and mean value is approximately 52 dBIn the paper [11]3D cameraA novel approach has been proposed to measure respiratory movement using a 3D camera to detect apnea.Our systemSpO2, heart rate, ECG, skin response, snoring sound intensitySpO2: 94.55 to 97.81BPM: 74.47 to 91.39GSR: 128.95 to 275.45Sound: 35 dB to 60 dBECG: generalizedMost of the previous research to monitor sleep apnea is mainly based on one parameter. But this study combined five different parameters of the sleeping index. In this study, the decision was made after analyzing all the five parameters combined as one factor is dependent on another factor of sleep. Another important aspect of this study is no other research focused on the galvanic skin response to detect sleep apnea. However, this study establishes a link between skin response and sleep apnea monitoring. That opens an important area for analyzing sleep apnea more precisely.


## 3.1. Patient List of Examination

To detect sleep apnea in patients, the system monitored different people from different age groups and different health conditions. The system examined both male and females and got to see quite remarkable differences. The device attempted to examine a patient with various health issues because previous health reports and disease history are one of the factors contributing to sleep apnea. The focus was on the body condition of the person before monitoring sleep apnea. The IoT device monitors the patients and provides us the results against all of the parameters. The list of persons examined by the system is given below in Table2 with their age group and gender.Table 2
Lists of people that has been examined.
List of personAge groupGenderBody statusPerson 15-17MaleNormalPerson 218-35MaleOverweight, excessive sweating problemPerson 318-35MalePhysically fit (athlete)Person 436-50FemaleMajor heart issue, obesePerson 550+MaleLung issue


## 3.2. Design Prototype and View of Real-Time Data

After connecting all of the sensors to the Arduino and uploading the code to the board, the values of all the parameters appear on the screen and in the mobile application. The system works successfully to monitor sleep apnea. Figure17 shows the hardware part of the prototype of the system.Figure 17
Prototype of the system.The prototype system is integrated with the Arduino, sensors, and the Bluetooth module. Five different sensors are integrated in the system. Those sensors are marked in Figure17. The system includes a GSR sensor to measure the skin response, a pulse sensor to measure the heart rate, a Max30102 sensor to measure oxygen saturation (SpO2), an ECG sensor to monitor the electrocardiograms of the heart, and a sound sensor to measure the snoring intensity integrated into the system. The HC-05 Bluetooth module is in the system to perform serial communication between the hardware part and the mobile application.Figure18 shows the prototype of the system during monitoring of a patient. The prototype of the system is an easily wearable device. It does not hamper the sleep of the patient. The application shown in Figure 19 shows the real-time results of oxygen saturation (SpO2), heart rate, galvanic skin response, and sound intensity level. The mobile application can show the ECG graphs of the patients. But the serial plotter of the Arduino gives better ECG results.Figure 18
Sleep apnea monitoring on a patient.Figure 19
Mobile application showing real-time result.


## 3.3. Data Sheet and Analytical Charts for Different Parameters

In the experiment, the system monitors person’s sleeping period from some different perspectives and tries to see how body’s condition changes during the sleeping period. For that, it monitored the patient for six straight hours and analyzed how different parameters changed every hour.


### 3.3.1. Heart Rate Analysis

Table3 shows the results of the heart rate for the five people. It shows how the heart rates of different people change over hours. The values indicate how the heart rate of a person changes from the start of sleep to the end of sleep. In the experiment, we measured the value of heart rate every second throughout the period and checked the highest, lowest, and value that clicked most of the time. After checking the values, we took the decision to calculate the average heart rate in each hour. The average value reflects the heart rate that the person had at their maximum time in that specific hour. In the experiment for every person, the values are in some specific pattern, and in all cases, they follow the body condition of the person. Person 1, who does not have any major health issues, has a very balanced heart rate throughout the sleeping period. The results do not provide any indication of sleep apnea. The same goes for person 3, who is an athlete and has very good physical condition. His heart rate is in the range of 67-76 beats per minute during the period. That value is quite standard for a healthy person. But, for other people, the results do show some of the major hints about sleep apnea. Person 2 has an uneven change in heart rate. This person has a heart rate of around 90 bpm. In the third hour of sleep, his heart rate falls. One of the most serious consequences of breathing difficulties is a low heart rate, also known as Bradycardia. In that case, that low heart rate indicates obstructive sleep apnea in that patient. On the other hand, people 4 and 5 have a higher heart rate. According to the history, person 4 has a major heart problem, which suggests that a higher heart rate could be the cause of both the heart problem and obesity.Table 3
Result of BPM.
HourPerson 1Person 2Person 3Person 4Person 51st hour73.0188.6769.37100.2474.322nd hour76.3988.6368.1798.4882.673rd hour67.3362.7367.2997.1287.234th hour72.8283.2175.8779.5489.565th hour78.3891.0467.582.9676.986th hour78.8785.3473.6890.0273.57Mean BPM74.4783.2770.3191.3980.72The average value of BPM of test subjects varied from person to person for different ages, physical conditions, and previous health issues. There is quite a massive variation in the BPM of different persons. From Table3, it is noted that the mean value of the heart rate for person one is 74.47, while for person 4, it is noticed to be 91.39.For comparison of heart rate among the people, Figure20 shows how heart rate changes because of the physical condition of the people.Figure 20
Line chart for heart rate.The line chart of heart rate in Figure20 shows the average heart rate of a person changing over the course of an hour. In the line chart, it is visible that most of the people have an uneven change in heart rate. The differences between the lines of one person and another person indicate the difference in their age group and body condition.


### 3.3.2. SpO2 Analysis

Table4 shows the oxygen saturation for the five people. It shows the change of oxygen saturation over hours. In the experiment, the system calculates the SpO2 value every second with the sensor-based pulse oximeter. The SpO2 value always stayed within a particular range for all the people. For that reason, we took the average SpO2 value for every hour of the sleeping period. All of the people have quite good oxygen saturation levels throughout the monitoring period, except for person 5, who has very low oxygen saturation during the third and fourth hours of sleep. That is one of the symptoms of breathing problems. A low rate of breathing declines the rate of oxygen supply to the body, and it decreases the level of oxygen saturation. That low SpO2 value is an indication of obstructive sleep apnea.Table 4
Result of SpO2.
HourPerson 1Person 2Person 3Person 4Person 51st hour95.5695.9097.1295.7195.872nd hour95.9795.7998.1196.4594.153rd hour95.6895.9697.7096.7393.784th hour95.8396.1297.2296.4693.635th hour96.0496.0098.3797.4994.126th hour95.8195.9498.3696.0795.73Mean SpO295.8295.9597.8196.4994.55The average value of oxygen saturation for different people shown in Table4 shows some variations. Although the variation is not significant, for person 5, the value is a little lower, and for person 3, the value is higher than the other. Person 5 has a mean SpO2 of 94.55, while person 3 has a mean SpO2 of 97.81.The line chart for SpO2 in Figure21 shows how the level of oxygen saturation changes over time more precisely.Figure 21
Line chart for oxygen saturation (SpO2).The line chart for the five people in Figure21 shows the change in oxygen saturation during different hours of the sleeping period. It reflects how oxygen distribution happens in the bodies of those five people over the hours.


### 3.3.3. Galvanic Skin Response (GSR) Analysis

Galvanic skin response (GSR) values for the five people are shown in Table5. It shows every person’s electrodermal activity throughout the sleeping period. The value indicates how a person’s state of mind changes over time during sleep because of stress or hypertension. During the experiment, the system monitors person’s electrodermal activity via the sensor and shows the response of the skin every second. The response of the skin changes gradually for every person. For person 1, the response of the skin is quite balanced throughout the sleeping time, and it does not show any hint of sleep apnea, and also for person 3, as his skin response is highest among the others. But for person 2, person 4, and person 5, the result shows an uneven change in skin response. For person 2, the value of GSR goes down in the 3rd hour and also in the last two hours. It shows the chance of stress and hypertension problems during sleep. Person 4 has the lowest GSR value among all of the people the system monitored. In the first two hours, the values of skin response do not show any change, which can lead to a decision about sleep apnea. But from the 3rd hour to the end of the sleep, the GSR value reflects the change of very low dermal activity, which can be the reason for sleep apnea. Person 5 also has quite a low skin response, but the value throughout the time does not change significantly, and in that case, there is no evidence for sleep apnea for person 5.Table 5
Result of GSR.
HourPerson 1Person 2Person 3Person 4Person 51st hour231.03181.81348.2188.88190.542nd hour235.47254.87269.35150.03216.473rd hour264.67134.34265.4174.22142.794th hour221.74154.95217.13123.25135.385th hour193.13123.82253.77119.51147.906th hour207.18125.21298.82118.08164.27Mean GSR225.54162.5275.45128.95166.23The mean of galvanic skin response for five people in Table5 shows significant variations in the skin response over the hour. The lowest value (162.5) of GSR is noticed for person 2, whereas the highest value (225.54) is noticed for person 1. The line chart shows the change in galvanic skin response for the five people over the hour in Figure 22 more precisely.Figure 22
Line chart for galvanic skin response.


### 3.3.4. Sound Intensity Analysis

Snoring, which is a symptom of obstructive sleep apnea, was detected in three of the people the system monitored. The snoring sound followed a pattern for each person. In the experiment to detect snoring, the sensor collects data every second. The result shows that, for a specific person, the sound follows a similar rhythm throughout the sleeping time. The graph in Figures23(a)–23(e) depicts the snoring rhythms of the people studied.Figure 23
Snoring cycle of 5 persons; (a), (b), (c), (d), and (e) show the sound intensity of person 1, person 2, person 3, person 4, and person 5, respectively.
(a)(b)(c)(d)(e)Person 3 has a very balanced rhythm in the breathing cycles. There is no evidence of snoring visible in Figure23(c). The sound level stayed in the range of 35 dB-40 dB, which is usually for room sound. But for person 4 and person 5, there is a big problem with snoring, as it is visible in Figures 23(d) and 23(e). For person 4, the figure shows that the snoring sound reached almost 60 dB, and every snoring cycle took 3-5 seconds. That is big evidence of problems with breathing and also a sign of obstructive sleep apnea. The same goes for person 5, as snoring intensity touches the 60 dB mark. The breathing rate is lower than the normal rate as the breathing cycle for person 5 took 4-6 seconds. Both people faced problems with breathing during sleep, which is a sign of sleep apnea.


### 3.3.5. ECG Analysis

Figure24 depicts the heart rhythm or ECG graph for test person 4. Person 1, person 2, person 3, and person 5 have a very balanced ECG result. But the ECG graphs of person 4 show some uneven changes in the rhythm of the heart.Figure 24
ECG graph of test person 4.In Figure24, there are six waves that are the top picks of the graph. Those spikes are also known as R-wave. It shows how time elapsed between endocardium to epicardium. It is also helpful for some of the major heart issues. Loss of R-wave indicates myocardial infarction, which is visible in the first R-pick in Figure 24. The gain of R-wave indicates cardiomyopathy, which is the 5th R-pick of the graph.


## 3.3.1. Heart Rate Analysis

Table3 shows the results of the heart rate for the five people. It shows how the heart rates of different people change over hours. The values indicate how the heart rate of a person changes from the start of sleep to the end of sleep. In the experiment, we measured the value of heart rate every second throughout the period and checked the highest, lowest, and value that clicked most of the time. After checking the values, we took the decision to calculate the average heart rate in each hour. The average value reflects the heart rate that the person had at their maximum time in that specific hour. In the experiment for every person, the values are in some specific pattern, and in all cases, they follow the body condition of the person. Person 1, who does not have any major health issues, has a very balanced heart rate throughout the sleeping period. The results do not provide any indication of sleep apnea. The same goes for person 3, who is an athlete and has very good physical condition. His heart rate is in the range of 67-76 beats per minute during the period. That value is quite standard for a healthy person. But, for other people, the results do show some of the major hints about sleep apnea. Person 2 has an uneven change in heart rate. This person has a heart rate of around 90 bpm. In the third hour of sleep, his heart rate falls. One of the most serious consequences of breathing difficulties is a low heart rate, also known as Bradycardia. In that case, that low heart rate indicates obstructive sleep apnea in that patient. On the other hand, people 4 and 5 have a higher heart rate. According to the history, person 4 has a major heart problem, which suggests that a higher heart rate could be the cause of both the heart problem and obesity.Table 3
Result of BPM.
HourPerson 1Person 2Person 3Person 4Person 51st hour73.0188.6769.37100.2474.322nd hour76.3988.6368.1798.4882.673rd hour67.3362.7367.2997.1287.234th hour72.8283.2175.8779.5489.565th hour78.3891.0467.582.9676.986th hour78.8785.3473.6890.0273.57Mean BPM74.4783.2770.3191.3980.72The average value of BPM of test subjects varied from person to person for different ages, physical conditions, and previous health issues. There is quite a massive variation in the BPM of different persons. From Table3, it is noted that the mean value of the heart rate for person one is 74.47, while for person 4, it is noticed to be 91.39.For comparison of heart rate among the people, Figure20 shows how heart rate changes because of the physical condition of the people.Figure 20
Line chart for heart rate.The line chart of heart rate in Figure20 shows the average heart rate of a person changing over the course of an hour. In the line chart, it is visible that most of the people have an uneven change in heart rate. The differences between the lines of one person and another person indicate the difference in their age group and body condition.


## 3.3.2. SpO2 Analysis

Table4 shows the oxygen saturation for the five people. It shows the change of oxygen saturation over hours. In the experiment, the system calculates the SpO2 value every second with the sensor-based pulse oximeter. The SpO2 value always stayed within a particular range for all the people. For that reason, we took the average SpO2 value for every hour of the sleeping period. All of the people have quite good oxygen saturation levels throughout the monitoring period, except for person 5, who has very low oxygen saturation during the third and fourth hours of sleep. That is one of the symptoms of breathing problems. A low rate of breathing declines the rate of oxygen supply to the body, and it decreases the level of oxygen saturation. That low SpO2 value is an indication of obstructive sleep apnea.Table 4
Result of SpO2.
HourPerson 1Person 2Person 3Person 4Person 51st hour95.5695.9097.1295.7195.872nd hour95.9795.7998.1196.4594.153rd hour95.6895.9697.7096.7393.784th hour95.8396.1297.2296.4693.635th hour96.0496.0098.3797.4994.126th hour95.8195.9498.3696.0795.73Mean SpO295.8295.9597.8196.4994.55The average value of oxygen saturation for different people shown in Table4 shows some variations. Although the variation is not significant, for person 5, the value is a little lower, and for person 3, the value is higher than the other. Person 5 has a mean SpO2 of 94.55, while person 3 has a mean SpO2 of 97.81.The line chart for SpO2 in Figure21 shows how the level of oxygen saturation changes over time more precisely.Figure 21
Line chart for oxygen saturation (SpO2).The line chart for the five people in Figure21 shows the change in oxygen saturation during different hours of the sleeping period. It reflects how oxygen distribution happens in the bodies of those five people over the hours.


## 3.3.3. Galvanic Skin Response (GSR) Analysis

Galvanic skin response (GSR) values for the five people are shown in Table5. It shows every person’s electrodermal activity throughout the sleeping period. The value indicates how a person’s state of mind changes over time during sleep because of stress or hypertension. During the experiment, the system monitors person’s electrodermal activity via the sensor and shows the response of the skin every second. The response of the skin changes gradually for every person. For person 1, the response of the skin is quite balanced throughout the sleeping time, and it does not show any hint of sleep apnea, and also for person 3, as his skin response is highest among the others. But for person 2, person 4, and person 5, the result shows an uneven change in skin response. For person 2, the value of GSR goes down in the 3rd hour and also in the last two hours. It shows the chance of stress and hypertension problems during sleep. Person 4 has the lowest GSR value among all of the people the system monitored. In the first two hours, the values of skin response do not show any change, which can lead to a decision about sleep apnea. But from the 3rd hour to the end of the sleep, the GSR value reflects the change of very low dermal activity, which can be the reason for sleep apnea. Person 5 also has quite a low skin response, but the value throughout the time does not change significantly, and in that case, there is no evidence for sleep apnea for person 5.Table 5
Result of GSR.
HourPerson 1Person 2Person 3Person 4Person 51st hour231.03181.81348.2188.88190.542nd hour235.47254.87269.35150.03216.473rd hour264.67134.34265.4174.22142.794th hour221.74154.95217.13123.25135.385th hour193.13123.82253.77119.51147.906th hour207.18125.21298.82118.08164.27Mean GSR225.54162.5275.45128.95166.23The mean of galvanic skin response for five people in Table5 shows significant variations in the skin response over the hour. The lowest value (162.5) of GSR is noticed for person 2, whereas the highest value (225.54) is noticed for person 1. The line chart shows the change in galvanic skin response for the five people over the hour in Figure 22 more precisely.Figure 22
Line chart for galvanic skin response.


## 3.3.4. Sound Intensity Analysis

Snoring, which is a symptom of obstructive sleep apnea, was detected in three of the people the system monitored. The snoring sound followed a pattern for each person. In the experiment to detect snoring, the sensor collects data every second. The result shows that, for a specific person, the sound follows a similar rhythm throughout the sleeping time. The graph in Figures23(a)–23(e) depicts the snoring rhythms of the people studied.Figure 23
Snoring cycle of 5 persons; (a), (b), (c), (d), and (e) show the sound intensity of person 1, person 2, person 3, person 4, and person 5, respectively.
(a)(b)(c)(d)(e)Person 3 has a very balanced rhythm in the breathing cycles. There is no evidence of snoring visible in Figure23(c). The sound level stayed in the range of 35 dB-40 dB, which is usually for room sound. But for person 4 and person 5, there is a big problem with snoring, as it is visible in Figures 23(d) and 23(e). For person 4, the figure shows that the snoring sound reached almost 60 dB, and every snoring cycle took 3-5 seconds. That is big evidence of problems with breathing and also a sign of obstructive sleep apnea. The same goes for person 5, as snoring intensity touches the 60 dB mark. The breathing rate is lower than the normal rate as the breathing cycle for person 5 took 4-6 seconds. Both people faced problems with breathing during sleep, which is a sign of sleep apnea.


## 3.3.5. ECG Analysis

Figure24 depicts the heart rhythm or ECG graph for test person 4. Person 1, person 2, person 3, and person 5 have a very balanced ECG result. But the ECG graphs of person 4 show some uneven changes in the rhythm of the heart.Figure 24
ECG graph of test person 4.In Figure24, there are six waves that are the top picks of the graph. Those spikes are also known as R-wave. It shows how time elapsed between endocardium to epicardium. It is also helpful for some of the major heart issues. Loss of R-wave indicates myocardial infarction, which is visible in the first R-pick in Figure 24. The gain of R-wave indicates cardiomyopathy, which is the 5th R-pick of the graph.


## 3.4. Comparative Analysis

The outcome of the system has been compared to some other research that has been monitoring sleep apnea with similar kinds of parameters shown in Table6. It also shows the parameters that were not used in other research.Table 6
Comparison table with previous studies.
ReferenceMain parametersResult (final or mean)In the paper [25]Oxygen saturation (SpO2)(91.3±2.0) %The oxygen saturation for sleep apnea patients is in this rangeIn the paper [6]Heart rate(70.9±2.2) bpmThe study detected sleep apnea in this range of heart rate.In the paper [26]Polysomonography91.8% to 96.5% accuracy on adaptive apnea indexIn the paper [27]Snoring sound intensity45 dB to 58 dB and mean value is approximately 52 dBIn the paper [11]3D cameraA novel approach has been proposed to measure respiratory movement using a 3D camera to detect apnea.Our systemSpO2, heart rate, ECG, skin response, snoring sound intensitySpO2: 94.55 to 97.81BPM: 74.47 to 91.39GSR: 128.95 to 275.45Sound: 35 dB to 60 dBECG: generalizedMost of the previous research to monitor sleep apnea is mainly based on one parameter. But this study combined five different parameters of the sleeping index. In this study, the decision was made after analyzing all the five parameters combined as one factor is dependent on another factor of sleep. Another important aspect of this study is no other research focused on the galvanic skin response to detect sleep apnea. However, this study establishes a link between skin response and sleep apnea monitoring. That opens an important area for analyzing sleep apnea more precisely.


## 4. Conclusion

This research shows how IoT devices can monitor sleep apnea. To implement the system, we used a basic microcontroller and some of the major health-related sensors. The mobile application has been created with a very simple app developing web application. After monitoring five people, the system gives quite satisfactory results for making decisions about sleep apnea. From the given results, it is clear that two people do not have any symptoms of any kind of sleep apnea. One person who is in the age range of 36-50 has major issues with sleep conditions. The system successfully detects sleep apnea for that person. The system also detects obstructive sleep apnea in a person. After analyzing the results, it is clear that the person whose age is 50+ is a patient with OSA. That kind of monitoring will help people to detect sleep apnea at the early stage. Thus, this research can help people to learn about sleep apnea, the way to detect it, and it will also help people to eliminate all their sleeping problems.Nowadays, sleeping disorder rates are higher than before. More people are suffering from hypertension, stress-related problems, and heart-related problems which cause sleep apnea. Our system will be very much more sustainable to monitor sleep apnea and detect specifically the duration of sleep apnea. That system can sustain itself at a higher level. It not only detects sleep apnea but can also inform the patient to discuss with the doctor the data taken from the system, which can make the lives of patients easier. And the project can be sustained in the future if we add higher technology like high-level X-rays and other monitoring systems. Some other sensors could be added to the system to make it more applicable. An LM35 temperature sensor could be added to the system. A DHT11 humidity sensor could also be added to this system to make this system more applicable, though those factors have a minor connection with sleep apnea.In most research, ECG data and other data are used to measure or monitor sleep apnea. Most were under medical observation in a clinical environment. But our device will help patients to get even better output while staying at home and with ease of use. Real-time data will give instant updates about apnea indexes so that patients can take precautionary steps. And for senior citizens and the physically/mentally disabled, our device is an added benefit because it sends notification data to patient’s concerned person so that the person can take care of any difficulties that may occur at any time. We will further try to build our own dataset with this real-time data and will analyze it through multiple machine learning models to analyze the whole system and how our system can work with better efficiency. To have a healthy and sound life without a sleeping disorder is a blessing, and technology can undoubtedly assure that.



---

*Source: 7152576-2021-11-03.xml*