# A Study on LoRa SX1276 Performance in IoT Health Monitoring

Authors: Muhammad Izz Z. Azhar Muzafar; Aiffah Mohd Ali; Safiah Zulkifli
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

The Internet of Things (IoT) for healthcare can improve patient monitoring more effectively, especially since the occurrence of the novel coronavirus (COVID-19) disease in 2019. Integrating sensors with long range (LoRa) technology, which provides long-range, low-power, and secure data transmission, can ensure better patient treatment and disease surveillance. This study is aimed at evaluating and understanding the LoRa performance as the wireless platform in IoT health monitoring. The MH-ET Live MAX30102 sensor is used to measure blood oxygen saturation and pulse rate, while TTGO LoRa32 SX1276 is used as the wireless platform. Results show that to obtain accurate readings from the sensor, users must be in rested condition, place their fingertip onto the sensor properly for a few moments without any movement, and use the body part of the fingertip only. In outdoor environment tests in the suburban area, the LoRa SX1276 transceiver’s performance for the line-of-sight (LoS) transmission shows that the signal-to-noise ratio (SNR) and RSSI recorded at 1300-meter distance are -6.5 dB and -118 dBm, respectively. Non-line-of-sight (NLoS) test shows that LoRa still communicates with each other after eight blocks of houses with an approximate displacement of 240 meters apart between the modules, with RSSI and SNR values of -113 dBm and -5.42 dB, respectively. The analysis using LoRa Modem Calculator Tool proved the theoretical performances and effectiveness of LoRa communications.


---

## Body

## 1. Introduction

Over the previous decades, the presence of the industrial revolution has caused humans to evolve dramatically. The fourth industrial revolution is the era in which a new generation of wireless communication allows machines and objects to be connected everywhere. Internet of Things (IoT) is a rapidly growing global network of interconnected devices that uses a standard communication protocol to support multiple input-output computers, sensors, and actuators. IoT nodes can deliver data, access and authorize cloud-based tools for data capture and retrieval, and make decisions based on the information gathered [1]. Many technologies adapting IoT applications are in the development phase in this era. This development of IoT applications will help to improve our daily lives [2]. However, the performance of the chosen IoT technology in providing trustful service, especially in critical application like healthcare, is significant and needs to be tested. This study provides a real-life test on LoRa performance in IoT health monitoring for both line-of-sight (LoS) and non-line-of-sight (NLoS) outdoor environments. Abbreviations provides an explanation of the abbreviations used in this study.LoRa (long range) is a wireless technology that provides IoT applications with long-range, low-power, and secure data transmission based on chirp spread spectrum (CSS) radio modulation technique. As many earlier wireless systems use frequency shift keying (FSK) because of its efficiency at low power, LoRa offers a much cleaner signal using Gaussian frequency shift keying (GFSK) communication [3]. Furthermore, the CSS radio modulation technique makes it resilient and robust towards noise and interference signals such as multipath fading and Doppler effects, making it difficult to detect or jammed [4, 5]. LoRa uses unlicensed industrial, scientific, and medical (ISM) band frequencies under the order of sub-GHz, such as 868 MHz in Europe, 915 MHz in North America, and 433 MHz in Asia, to connect sensor nodes and gateways wirelessly to the cloud. Most LoRa radio frequency module utilizes star topology to broadcast signals between node and gateway and allows the usage of scalable bandwidths of 125 kHz, 250 kHz, and 500 kHz. Each LoRa transmission is characterized by several customizable parameters, such as the spreading factor (SF), the code rate (CR), and the bandwidth (BW) [6].Sensor nodes are usually powered by batteries in most cases, so they will operate until the batteries are depleted, making the node lifetime very challenging due to its limited energy supply. According to [7, 8] due to the limited power resources available to sensor nodes, energy consumption and interference reduction are two of the most challenging issues that long-life wireless sensor networks face. The nodes use a lot of energy during data transmission, sensing, monitoring, and tracking applications [9]. Therefore, using efficient wireless technology is crucial for wireless sensor network (WSN) deployment and operation. Thus, LoRa technology provides great battery life for IoT-based sensor applications with only a small amount of data to send over a long distance [10].Communication via LoRa can be divided into two: peer-to-peer (P2P) communication and network communication. For P2P communication, two LoRa devices communicate with each other using radio frequency signals without the help of a central server or gateway. One LoRa device acts as a transmitter and the other as a receiver, or both LoRa devices act as transceivers. For network communication, multiple LoRa nodes (end device) can be connected to multiple LoRa gateway, in which the data is sent to a network server via IP connection. Nowadays, more and more companies are implementing the IoT in their markets, such as agriculture, industries, smart cities, and even smart healthcare [11].LoRa is different compared to other short-range network sensor technologies. Compared to short-range technologies such as Bluetooth, Wi-Fi, and ZigBee, LoRa is better suited for low-power IoT devices that transmit a small amount of data over a long distance (refer to Table1). In addition, LoRa is more cost-effective due to its low hardware price and no need for a subscription for service compared to cellular machine-to-machine (M2M) networks that are designed to cover a large area. [12] studied the problem of interest, resource management, and energy and physical-aware coalition formation in smart IoT applications. In order to fulfil its quality of service (QoS) requirements, the study proposed a distributed power control framework for defining each M2M device’s ideal transmission power.Table 1
Comparison between LoRa and other communication protocols [13].
CharacteristicsBluetoothZigBeeWi-FiLoRaMax. end-devices255 (2 billion in BLE)More than 64,000Depends on number of IP addressMore than 5000Peak current consumption30 mA30 mA100 mA17 mARange10 m10 to 100 m100 mMore than 15 kmData rate1 Mbps250 kbps11 Mbps and 54 Mbps290 bps to 50 kbpsRelative costLowLowMediumLowTopologyStarStar and meshStar and point to pointStarTransmission techniqueFrequencyHoppingSpreadSpectrumDirectSpreadSpectrumSequenceOrthogonalFrequencyDivisionMultiplexingChirp spread spectrumLoRa is a proprietary of low-power wide area (LPWA) technology [14]. Low-power wide area network (LPWAN) is a term used to describe a group of wireless communication technologies used to support the deployment of WSNs [15]. LPWAN is inexpensive and highly energy-efficient, with approximately more than ten years of battery lifetime [16]. These LPWAN technologies are not focused on enabling high data rates per device or minimizing latency like 3G/4G or Wi-Fi; instead, the critical performance metrics are energy efficiency, scalability, and coverage [17].LPWA devices are expected to grow to 339 million by 2025 [19]. These LPWA technologies are targeting emerging applications and markets. It became one of the fastest growing areas as the IoT market grew rapidly. It has high range capabilities to transmit low-bandwidth data, as shown in Figure 1. LTE-M, Sigfox, LoRa, and narrowband- (NB-) IoT are examples of LPWA technologies that have emerged in both licensed and unlicensed markets. Among these LPWA technologies, LoRa and NB-IoT are the two leading emergent technologies, which involve many technical differences [20]. NB-IoT networks require low latency and high data rate, while LoRa only require low latency and low data rate. The high data rate will require additional power, making the NB-IoT node’s battery lifetime shorter than the LoRa node. Therefore, LoRa is more suitable for WSN applications that are insensitive to delay and do not need high data rates, while NB-IoT is more suited for WSN applications that require higher data rate transmission and low latency [16]. Table 2 compares the technical specifications of LoRaWAN, Sigfox, NB-IoT, and LTE-M technologies.Figure 1
The required bandwidth vs. range capacity of short distance, cellular, and LPWA [18].Table 2
Technical specifications of LoRaWAN, Sigfox, NB-IoT, and LTE-M technologies [21].
StandardLoRaWANSigfoxNB-IoT 3GPPLTE-M 3GPPSpectrum (MHz)Unlicensed868 in EU915 in USA433 in AsiaUnlicensed868 in EU915 in USA433 in AsiaLicensed LTE frequency bandsLicensed LTE frequency bandsTx power (dBm)13 in EU20 in USA14 in EU21.5 in USA2323Link budget154 dB159 dB151 dB146 dBModulationCSSUL: DBPSKDL: GFSKUL: GFSKDL: BPSKUL: SC-FDMA, 16 QAMDL: OFDMA, 16 QAMChannel bandwidth (kHz)125 – 5000.6 in USA1801.4-20 MHzMax payload (bytes)243Up: 12Down: 816001000Power consumptionVery lowLowMedium lowMediumBattery lifetime (2000 mAh)105 months150 months90 months18 monthsTopologyStar of starsStarStarStarSecurityAES CCM 128Key generation, message encryption, and sequenceNAS/AES 256AES 256Coverage (km)~5 in urban~20 in rural~10 in urban~40 in rural~1 in urban~10 in rural~5Max data rate~50 kbps in UL~290 bps in DL~100 bps in UL~600 bps in DL~220 kbpsUp to 1 MbpsTransmission techniqueFHSS (ALOHA)UNBFDDFDD/TDDRecently, as the novel coronavirus (COVID-19) disease threatens the whole countries, healthcare has become one of the most significant issues. The healthcare sector needs to be more effective and organized in managing patients, especially patients with chronic illnesses and disorders. The major flaw in current patient monitoring, care, management, and supervision models is that nursing staff frequently perform the required operations manually, resulting in a de facto efficiency bottleneck [22]. In order to overcome the health issues, the IoT provides a world of network devices, cloud-based software, and utilities, with numerous cooperation mechanisms based on the confluence of the proper standardization, reliable wireless protocols, upgraded sensors, low-power microprocessors, and cheaper and wireless technologies [23].The primary goal of this smart health program is to reduce obstacles in monitoring critical health parameters, improve the quality of life of individuals who require assistance, reduce health costs, and provide adequate treatment at the right time. The uses of smart healthcare systems in everyday life can help to(i)
assist the elderly suffering from illnesses such as dementia, memory loss, and Alzheimer’s disease or people with disabilities living alone, by using sensors to monitor home activities or send reminders at which specific medications should be taken(ii)
reduce medical centre admissions by remotely monitoring patients with chronic diseases such as cardiovascular disease and diabetes


## 2. Related Work

IoT for healthcare or smart healthcare is currently at the top of the research interest because of its potential. Some survey studies emphasized the importance of IoT for healthcare, such as studies from [24, 25]. Catarinucci et al. [26] presented a smart hospital system that utilizes several IoT technologies to automatically monitor and track patients inside hospitals via ultra-high-frequency (UHF) radio frequency identification (RFID) technology. With this smart healthcare, healthcare information and communication technologies will improve patient treatment and disease surveillance. However, the massive cost burden is a problem for the healthcare sector. Low cost and efficient LoRa network efficiency make it ideal compared to traditional smart healthcare applications. A study from [27] highlighted the main issues and challenges in healthcare using the NB-IoT platform, bandwidth insufficiency, and lack of robust real-time service provisioning. Nevertheless, comparing both LoRa and NB-IoT, as in Table 2, LoRa is the best choice for IoT-based healthcare systems as it offers higher bandwidth, higher communication range, low power, and higher battery lifetime compared to NB-IoT.Meanwhile, a study from [28] proved that they have successfully interfaced their IoT-based healthcare system with data from different biomedical sensors using LoRa communication technology. However, the study did not evaluate the performance of LoRa transmission in line-of-sight (LoS) and non-line-of-sight (NLoS) environments, which will be significant for actual implementation. Furthermore, a study on the indoor performance of LoRa technology for health and wellbeing monitoring applications has been conducted by [29], and the result shows that the base station has successfully received over 96% of the packets sent by the end device. However, the study used the 868 MHz ISM band restricted to European users, while this study focuses on the performance of LoRa using the 433 MHz ISM band in Asia.Diagnosing and monitoring patients by connecting to all available resources over the Internet is the main idea to comply with an IoT-based healthcare system [30]. Fingertip pulse oximeters are among the most commonly used and effective medical standard monitoring instruments for determining patients’ oxygen status. A pulse oximeter is a noninvasive device that can be used by patients, doctors, and healthcare providers to determine arterial blood oxygen saturation in percentage. A study from [31] suggests that a pulse oximeter is helpful in monitoring patients’ oxygen status by providing continuous respiratory rate measurements. Thus, integrating the pulse oximeter sensor with the LoRa technology in this healthcare field will help monitor patients’ conditions.Based on the previous research, IoT technology in the healthcare sector is significant to be implemented. Studies on LoRa performance, the promising IoT platform for this application, is also substantial. This study is aimed at evaluating and understanding the LoRa performance as the wireless platform in IoT health monitoring. The MH-ET Live MAX30102 sensor measures blood oxygen saturation and pulse rate, while TTGO LoRa32 SX1276 is the wireless platform. The LoRa SX1276 transmission’s performance is tested in an outdoor environment of line-of-sight (LoS) and non-line-of-sight (NLoS) in the suburban area in Nibong Tebal, Penang, Malaysia. The paper is structured as follows: Section1 provides introduction and compares different types of available IoT technologies, Section 2 describes the related works on IoT in the healthcare sector, the proposed method was explained in Section 3, the resulting performance and discussion were presented in Section 4, and finally, Section 5 elaborated the conclusion of this work.


## 3. Materials and Methods

### 3.1. Components Used

The sensor used to measure blood oxygen saturation and pulse rate is MH-ET Live MAX30102, reflectance-based pulse oximetry. The light source at the sensor has a specific light-emitting diode (LED) wavelength, which will shine on the human skin tissue to measure oxyhaemoglobin and haemoglobin in the blood artery. This sensor has three LEDs in which 2 LEDs are used in this project: one emitting red light and the other emitting infrared light, and its photodetector is located at the side of the LEDs. Oxygenated haemoglobin in blood absorbs more infrared light and allows more red light to pass through. In contrast, deoxygenated haemoglobin in blood absorbs more red light and allows most of the infrared light to pass through. The sensor uses interintegrated circuit (I2C) protocol to display its output, and it is compatible to be programmed with Arduino boards. The library used in the Arduino IDE software is MAX3010x Pulse and Proximity Sensor library by Sparkfun.This project uses two sets of TTGO LoRa32 SX1276 0.96 inch SSD1306 OLED version 2.1.6. The TTGO LoRa is a module that consists of an ESP32 PICO-D4 processor board, SX1276 LoRa chip, and SSD1306 0.96 OLED display. The SX1276 LoRa chip by Semtech provides the required hardware setup for the ESP32 module to get equipped with LoRa technology. It operates at 433 MHz frequency for the ISM band in Asia for the high transmission range. The boards are programmed using Arduino IDE software to install required libraries such as ESP32 library by Espressif Systems, OLED libraries by Adafruit SSD1306 and Adafruit GFX, and TTGO LoRa V2.1.6 by Sandeep Mistry LoRa library [32].The antenna used for both LoRa transmitter and receiver is SMA male external antenna IP5306. This antenna was chosen for a better long-distance transmission coverage, and it has a gain value of +2dBi and impedance value of around 50Ω. The SSD1306 0.96 inch is a single-chip driver with a controller for graphic display systems that has 128×64 dots I2C display. It is commonly integrated onto OLED display modules for Arduino, Raspberry Pi, and other microcontrollers. SSD1306 chip consumes minimal power that does not require any external components to operate efficiently. It also has additional features such as programmable frame rate with multiplexing ratio, on-chip oscillator, random access memory (RAM) write synchronization signal, and internal charge pump regulator. The overall implementation cost in this proposed approach is around USD 100. Note that the cost will be increased when applying multiple nodes and gateways. However, the cost is still far cheaper than other technologies as the LoRa devices are manufactured so that they are not complicated, reducing the price and complexity [33].In this project, SX1276 LoRa chips are used in both the LoRa transmitter and receiver with the ISM band of 433 MHz. The frequency range of the Semtech’s SX1276 is between 137 MHz and 1020 MHz, with a spreading factor of 6 up until 12 and a bandwidth range of 7.8 kHz to 500 kHz, as shown in Table3.Table 3
Different Semtech’s chip specifications.
Part numberFrequency range (MHz)Spreading factorBandwidth (kHz)Effective bit rate (kbps)Est. sensitivity (dBm)SX12761137-10206–127.8-5000.018–37.5-111 to -148SX1277137-10206-97.8-5000.11–37.5-111 to -139SX1278137-5256–127.8-5000.018–37.5-111 to -148SX1279137-9606–127.8-5000.018–37.5-111 to -1481This project is using SX1276 LoRa chip.


### 3.2. Theoretical Analysis

This section explains the characteristics that influence LoRa performance and the parameters used to measure the performance.


#### 3.2.1. Spreading Factor (SF)

The spreading factor in LoRa communication is the number of symbols sent per bit of information. It is an essential physical layer parameter since it affects the LoRa communication abilities in the range of 6 to 12. The higher spreading factor indicates the wider coverage, higher signal-to-noise ratio, and sensitivity. However, the higher spreading factor takes more time-on-air [33]. For the SX1276 LoRa module, a spreading factor of 6 is a particular use for the highest data rate transmission possible. Each spreading factor can be calculated as 2SF to obtain the spreading in chips/symbol (refer to Table 4). For example, the SF value of 12 means that each symbol can carry 12 raw bits of information, and 2SF is 212=4096 chips/symbol, which means that there are 4096 chip values ranging from 0 to 4095.Table 4
Spreading factor (SF) in chips/symbol.
Spreading factor (SF)Spreading factor in chips/symbols664712882569512101024112048124096


#### 3.2.2. Bandwidth (BW)

The SX1276 microprocessor has a bandwidth range or range of frequencies that limit the transmission from 7.8 kHz to 500 kHz, as shown in Table3. For network usage such as LoRaWAN, the frequency bandwidth is limited to 125, 250, and 500 kHz, depending on the deployment region. An increase in frequency bandwidth indicates that data and bit rate increase while decreasing transmission time. Bandwidth is equivalent to chip rate. For example, if the transceiver uses a bandwidth of 250 kHz, the chip rate must be 250 kbps.


#### 3.2.3. Coding Rate (CR) and Forward Error Correction (FEC)

Coding rate (CR) is the proportion of the transmitted bits that carries information. A higher CR will give more robust protection from interference. The CR is related to forward error correction (FEC) in LoRa communication. FEC is the process where error correction bits are added to the transmitted data, which helps restore data when data gets corrupted by interference. Higher error correction bits mean the more accessible the data can be corrected. However, it decreases battery life. For example, if the CR of 4/8 is used in the SF of 10, there are a total of 10 transmitted bits; 5 bits are the CR that carries information, and another 5 bits are used for error correction. LoRa has a CR of 4/5, 4/6, 4/7, or 4/8, which can be obtained using Equation (1), where n is 1, 2, 3, and 4. In this project, the coding rate is expressed with the n value. For example, CR1 is the highest CR with a value of 4/5, while CR4 is the lowest CR with a value of 4/8 as shown in Table 5.
(1)CR=44+n.Table 5
Coding rate (CR) expression.
ExpressionnCyclic coding rateCR=4/4+nCR114/5CR224/6CR334/7CR444/8


#### 3.2.4. Receive Signal Strength Indicator (RSSI)

Receive signal strength indicator (RSSI) indicates how well the receiver can hear the transmitter signal power in milliwatts, measured in unit dBm. It is helpful to determine whether the measured signal can establish a good wireless connection. RSSI is in a negative value. The RSSI value closer to -30 dBm indicates that the signal is strong, while the RSSI value closer to -120 dBm indicates that the signal is weak. Theoretically, RSSI can be calculated by(2)RSSI=10logPR,where RSSI is the receive signal strength indicator in -dBm andPR is the receiver power in –dBm.


#### 3.2.5. Signal-to-Noise Ratio (SNR)

The ratio between the power of the carrier which carries bits of information and the power of unwanted man-made or natural noise in a communication channel is known as signal-to-noise ratio (SNR). This ratio allows to assess quality of the received signal, and its unit expression is dB. A positive SNR value indicates that the received signal operates above the noise floor, and the higher the ratio, the better the quality, as shown in Figure2. However, LoRa modulation can still operate well below the noise level, making it more robust to jamming and noise interference [34].Figure 2
The received signal operates above the noise floor.


#### 3.2.6. Symbol Time

LoRa symbol time is the time used by LoRa to transmit data or signals within 1 second. As the bandwidth increases, the symbol time increases. If the spreading factor (SF) increases by one, the symbol duration doubles. The equation for symbol time is shown below.(3)TSym=2SFBW,where Tsym is the symbol time in milliseconds, SF is the spreading factor (6 to 12), and BW is the bandwidth in Hz.


#### 3.2.7. Sensitivity of LoRa Receiver

Three parameters must be known to calculate the receiver’s sensitivity: bandwidth (BW), noise figure (NF), and signal-to-noise ratio (SNR) limit. NF is the measure of degradation of the SNR. The NF of LoRa is different for each device for a given hardware, and for this project, the value of the LoRa NF is 6. The sensitivity of the LoRa receiver can be calculated as(4)SRx=−174+10log10BW+NF+SNRlimit,whereSRx is the sensitivity of LoRa receiver in -dBm, BW is the bandwidth in Hz, and SNRlimit is the signal-to-noise ratio limit in dB (depending on SF).


#### 3.2.8. Link Budget

Link budget demonstrates LoRa signal propagation capability over a certain distance. It is a sum of all gains and losses from the LoRa transmitter, through the medium, to the LoRa receiver. Many factors influence the link budget, including transmitter power, transmitter and receiver antenna Gain, and obstacles on signal propagation. The link budget can be calculated as shown in(5)LinkbudgetdBm=PTx−SRx,wherePTx is the transmitter power in -dBm and SRx is the receiver sensitivity in -dBm.


#### 3.2.9. Time-on-Air (ToA)

When a transmitter sends a signal, it takes a certain amount of time for the receiver to receive the data, known as time-on-air (ToA). A LoRa packet’s total ToA transmission can be calculated for a given spread factor, coding rate, and signal bandwidth. ToA is also known as packet duration. Theoretically, the total ToA can be calculated as(6)ToA=Tpreamble+Tpayload,whereToA is the time-on-air (ToA) in seconds, Tpreamble is the preamble duration in seconds, and Tpayload is the payload duration in seconds.


#### 3.2.10. Bit Rate (Rb)

Bit rate is the bits sent in a unit of time in seconds. Spreading factor, coding rate, and frequency bandwidth play an important role in determining the bit rate. Bit rate is also known as data rate. In LoRa communication, bit rate can be expressed as(7)Rb=SF×BW2SF×44+CR,whereRb is the bit rate in bits per second, SF is the spreading factor (6 to 12), BW is the bandwidth in Hz, and CR is the coding rate (1 to 4).


#### 3.2.11. Packet Structure

In LoRa communication, there are two types of packet formats: implicit and explicit. The implicit mode does not have a header section in the packet structure. Cyclic redundancy check (CRC) is used to detect errors in digital data. In this project, the explicit header mode is used to calculate the number of successfully received packets, and the CRC is enabled (Figure3). The preamble length used is 12 symbols with a payload length of 64 bytes.Figure 3
LoRa SX1276 packet structure.


### 3.3. Integrate MH-ET Live Sensor to LoRa SX1276 Module

Since the sensor uses the I2C protocol, the sensors’ pins must be connected to the SDA and SCL pins of the processor to display its outputs. Different versions of TTGO LoRa modules have different pin configurations, pins explicitly for the processor transceiver chip and also the OLED display. In this project, the TTGO LoRa module used is version 2.1.6. The OLED display I2C pins for this version of TTGO LoRa modules are as follows: SDA is pin 21, and SCL is pin 22, to connect the sensor to LoRa modules. The connection pins between the two hardware are shown in Table6. The sensor’s VIN pin is connected to the 3.3 V pin on the LoRa module to avoid arcing, internal damage, or defects towards the sensor.Table 6
Connection pins between sensor and LoRa module.
MAX30102 pinsTTGO LoRa pinsVIN3.3 VGNDGNDSDA22SCL21In this project, both transmitter and receiver modules used TTGO LoRa version 2.1.6 with omnidirectional antennas of +2 dBi, together with Semtech’s SX1276 module that enables comparison between low and high frequencies. The transmit power used was 13 dBm for the LoRa transmitter. For outdoor usage, both LoRa transmitter and receiver modules were connected to separate portable chargers. The frequency bandwidth of 125 kHz, spreading factor (SF) of 7, and coding rate (CR) of 4/5 are used. For the preamble, the packet was set up with a 12-symbol sequence with the payload length of 64 bytes with enabled cyclic redundancy check. The explicit header mode is enabled to provide basic payload information such as the payload length. The error correction code used is 4/6, with a packet error rate of 1%.


### 3.4. MAX30102 Sensor Test via LoRa Communication

In order to develop a device for LoRa IoT-based towards patients for health monitoring purposes, the measured data, which are pulse rate and blood oxygen saturation by the sensor, need to be evaluated so that it can be implemented in real life. The sensor output will be shown on the transmitter’s OLED screen when the user places their finger onto the sensor. Then, the LoRa transmitter will send data to the LoRa receiver, and the data will be displayed on the receiver’s OLED screen. For this part, the integrated MH-ET Live MAX30102 sensor with the LoRa transmitter is used to send the data to the LoRa receiver. The LoRa receiver is connected to the Arduino IDE software in the personal computer to view the output data measured by the sensor. By connecting the LoRa receiver to the Arduino IDE software, the detailed output of graphical and digital data can be interpreted from the serial plotter and serial monitor. Figure4 shows the sensor test block diagram.Figure 4
Sensor test block diagram.


### 3.5. Outdoor Environmental Test

This section provides the experimental environments, procedures, and visual representation of each test. Several locations were chosen to be an ideal environment to perform the test. At each location, real-time measurements were taken. The test was carried out in a suburban area in Nibong Tebal, Penang, to observe the LoRa performance under the line-of-sight (LoS) and non-line-of-sight (NLoS) to test out varying effects of distance towards LoRa receiver’s RSSI and SNR. The LoRa receiver is programmed to display the SNR and RSSI value obtained at various distances onto the OLED display (Figure5).Figure 5
LoRa receiver OLED displaying RSSI and SNR values.Line-of-Sight (LoS) is a type of propagation that allows data to be transmitted and received when the transmitter and receiver are in view of each other without any obstacle between them. For LoS, the test was carried out on P146 road in Nibong Tebal, Penang (Figure6). P146 road is considered an ideal site for the LoS test since it is a suburban area with a straight line of 3 kilometres from one end to the other. The test was conducted around 0300 Malaysian time; therefore, P146 roads are clear with no obstacles or vehicles along the road between the LoRa transmitter and receiver. However, due to the low spreading factor of 7 set by default into the LoRa modules, it is estimated that the LoRa communication will have a weak RSSI even the distance is 1 kilometre. The test is carried out by measuring the RSSI and SNR values of LoRa receiver with the range increment of 100 metres between the modules until the LoRa receiver cannot receive the packets.Figure 6
Site for line-of-sight (LoS) test.Non-line-of-sight (NLoS) refers to a situation where the transmitted signal reaches the receiver not by direct path; instead, the signal propagates through reflection or diffraction. For NLoS, the test was carried out at Taman Bukit Panchor, Nibong Tebal, Penang. The environment is a suburban area with house residential areas. The total displacement from one end to the other is approximately 240 meters apart, as shown in Figure7(a). The distance between one house’s front yard and the backyard is about 30 meters, as shown in Figure 7(b). The NLoS test was carried out by taking a measurement of RSSI and SNR between each house, with a total number of 8 houses.Figure 7
(a) Site for non-line-of-sight (NLoS) test and (b) approximate displacement of one house.
(a)(b)


### 3.6. Analysis by Using Graphical User Interface (GUI)

LoRa modem calculator user interface is used to evaluate the performance of LoRa communication at different input parameters [35]. Three main inputs need to be considered: LoRa modem settings, packet configuration, and radio frequency settings. For the LoRa modem settings, we can define spreading factor ranges from 6 to 12, a bandwidth of 7.8 kHz to 500 kHz, a coding rate of 1 until 4, and an optional low data rate optimizer. The packet configuration allows the user to define the payload length in bytes, programmed preamble in symbols, type of header mode, either implicit mode or explicit mode, and the usage of cyclic redundancy check. For radio frequency settings, users can define the centre frequency used in Hz, the transmit power by LoRa transmitter in dBm, and hardware implementation. This calculator also provides the compatible SX product section, which means that it is easier for the user to identify if the specific inputs are compatible with the specific SX products, which in this project uses SX1276 LoRa chip. This calculator tool is useful to obtain specific parameters theoretically, which is an efficient platform to analyze and evaluate the performance of LoRa at different conditions by varying input parameters. The payload length is set to 64 bytes, the programmed preamble is set to 12 symbols, and explicit header mode and cyclic redundancy check are enabled. For radio frequency settings, the centre frequency is set to 433 MHz, hardware implementation is disabled, and transmit power is set to 13 dBm.In order to obtain sensitivity, link budget, and symbol time, the manipulated variables of input parameters are spreading factor and bandwidth as shown in Figure8(a). The coding rate is not included in the manipulated input parameters because it does not affect the performance of LoRa in terms of sensitivity, link budget, and symbol time. The input parameters of bandwidth used are 7.8, 10.4, 15.6, 20.8, 31.2, 41.7, 62.5, 125, 250, and 500 kHz, while the spreading factors used are 6, 7, 8, 9, 10, 11, and 12. In order to obtain bit rate and time-on-air, the manipulated variables of input parameters are spreading factor, bandwidth, and coding rate as shown in Figure 8(b). The spreading factor used ranges from 6 to 12; the frequency bandwidths used are 125, 250, and 500 kHz; and the coding rates used are CR1 (4/5), CR2 (4/6), CR3 (4/7), and CR4 (4/8), respectively.Figure 8
Block diagram to obtain (a) sensitivity, link budget, and symbol time and (b) bit rate and time-on-air.
(a)(b)


## 3.1. Components Used

The sensor used to measure blood oxygen saturation and pulse rate is MH-ET Live MAX30102, reflectance-based pulse oximetry. The light source at the sensor has a specific light-emitting diode (LED) wavelength, which will shine on the human skin tissue to measure oxyhaemoglobin and haemoglobin in the blood artery. This sensor has three LEDs in which 2 LEDs are used in this project: one emitting red light and the other emitting infrared light, and its photodetector is located at the side of the LEDs. Oxygenated haemoglobin in blood absorbs more infrared light and allows more red light to pass through. In contrast, deoxygenated haemoglobin in blood absorbs more red light and allows most of the infrared light to pass through. The sensor uses interintegrated circuit (I2C) protocol to display its output, and it is compatible to be programmed with Arduino boards. The library used in the Arduino IDE software is MAX3010x Pulse and Proximity Sensor library by Sparkfun.This project uses two sets of TTGO LoRa32 SX1276 0.96 inch SSD1306 OLED version 2.1.6. The TTGO LoRa is a module that consists of an ESP32 PICO-D4 processor board, SX1276 LoRa chip, and SSD1306 0.96 OLED display. The SX1276 LoRa chip by Semtech provides the required hardware setup for the ESP32 module to get equipped with LoRa technology. It operates at 433 MHz frequency for the ISM band in Asia for the high transmission range. The boards are programmed using Arduino IDE software to install required libraries such as ESP32 library by Espressif Systems, OLED libraries by Adafruit SSD1306 and Adafruit GFX, and TTGO LoRa V2.1.6 by Sandeep Mistry LoRa library [32].The antenna used for both LoRa transmitter and receiver is SMA male external antenna IP5306. This antenna was chosen for a better long-distance transmission coverage, and it has a gain value of +2dBi and impedance value of around 50Ω. The SSD1306 0.96 inch is a single-chip driver with a controller for graphic display systems that has 128×64 dots I2C display. It is commonly integrated onto OLED display modules for Arduino, Raspberry Pi, and other microcontrollers. SSD1306 chip consumes minimal power that does not require any external components to operate efficiently. It also has additional features such as programmable frame rate with multiplexing ratio, on-chip oscillator, random access memory (RAM) write synchronization signal, and internal charge pump regulator. The overall implementation cost in this proposed approach is around USD 100. Note that the cost will be increased when applying multiple nodes and gateways. However, the cost is still far cheaper than other technologies as the LoRa devices are manufactured so that they are not complicated, reducing the price and complexity [33].In this project, SX1276 LoRa chips are used in both the LoRa transmitter and receiver with the ISM band of 433 MHz. The frequency range of the Semtech’s SX1276 is between 137 MHz and 1020 MHz, with a spreading factor of 6 up until 12 and a bandwidth range of 7.8 kHz to 500 kHz, as shown in Table3.Table 3
Different Semtech’s chip specifications.
Part numberFrequency range (MHz)Spreading factorBandwidth (kHz)Effective bit rate (kbps)Est. sensitivity (dBm)SX12761137-10206–127.8-5000.018–37.5-111 to -148SX1277137-10206-97.8-5000.11–37.5-111 to -139SX1278137-5256–127.8-5000.018–37.5-111 to -148SX1279137-9606–127.8-5000.018–37.5-111 to -1481This project is using SX1276 LoRa chip.


## 3.2. Theoretical Analysis

This section explains the characteristics that influence LoRa performance and the parameters used to measure the performance.


### 3.2.1. Spreading Factor (SF)

The spreading factor in LoRa communication is the number of symbols sent per bit of information. It is an essential physical layer parameter since it affects the LoRa communication abilities in the range of 6 to 12. The higher spreading factor indicates the wider coverage, higher signal-to-noise ratio, and sensitivity. However, the higher spreading factor takes more time-on-air [33]. For the SX1276 LoRa module, a spreading factor of 6 is a particular use for the highest data rate transmission possible. Each spreading factor can be calculated as 2SF to obtain the spreading in chips/symbol (refer to Table 4). For example, the SF value of 12 means that each symbol can carry 12 raw bits of information, and 2SF is 212=4096 chips/symbol, which means that there are 4096 chip values ranging from 0 to 4095.Table 4
Spreading factor (SF) in chips/symbol.
Spreading factor (SF)Spreading factor in chips/symbols664712882569512101024112048124096


### 3.2.2. Bandwidth (BW)

The SX1276 microprocessor has a bandwidth range or range of frequencies that limit the transmission from 7.8 kHz to 500 kHz, as shown in Table3. For network usage such as LoRaWAN, the frequency bandwidth is limited to 125, 250, and 500 kHz, depending on the deployment region. An increase in frequency bandwidth indicates that data and bit rate increase while decreasing transmission time. Bandwidth is equivalent to chip rate. For example, if the transceiver uses a bandwidth of 250 kHz, the chip rate must be 250 kbps.


### 3.2.3. Coding Rate (CR) and Forward Error Correction (FEC)

Coding rate (CR) is the proportion of the transmitted bits that carries information. A higher CR will give more robust protection from interference. The CR is related to forward error correction (FEC) in LoRa communication. FEC is the process where error correction bits are added to the transmitted data, which helps restore data when data gets corrupted by interference. Higher error correction bits mean the more accessible the data can be corrected. However, it decreases battery life. For example, if the CR of 4/8 is used in the SF of 10, there are a total of 10 transmitted bits; 5 bits are the CR that carries information, and another 5 bits are used for error correction. LoRa has a CR of 4/5, 4/6, 4/7, or 4/8, which can be obtained using Equation (1), where n is 1, 2, 3, and 4. In this project, the coding rate is expressed with the n value. For example, CR1 is the highest CR with a value of 4/5, while CR4 is the lowest CR with a value of 4/8 as shown in Table 5.
(1)CR=44+n.Table 5
Coding rate (CR) expression.
ExpressionnCyclic coding rateCR=4/4+nCR114/5CR224/6CR334/7CR444/8


### 3.2.4. Receive Signal Strength Indicator (RSSI)

Receive signal strength indicator (RSSI) indicates how well the receiver can hear the transmitter signal power in milliwatts, measured in unit dBm. It is helpful to determine whether the measured signal can establish a good wireless connection. RSSI is in a negative value. The RSSI value closer to -30 dBm indicates that the signal is strong, while the RSSI value closer to -120 dBm indicates that the signal is weak. Theoretically, RSSI can be calculated by(2)RSSI=10logPR,where RSSI is the receive signal strength indicator in -dBm andPR is the receiver power in –dBm.


### 3.2.5. Signal-to-Noise Ratio (SNR)

The ratio between the power of the carrier which carries bits of information and the power of unwanted man-made or natural noise in a communication channel is known as signal-to-noise ratio (SNR). This ratio allows to assess quality of the received signal, and its unit expression is dB. A positive SNR value indicates that the received signal operates above the noise floor, and the higher the ratio, the better the quality, as shown in Figure2. However, LoRa modulation can still operate well below the noise level, making it more robust to jamming and noise interference [34].Figure 2
The received signal operates above the noise floor.


### 3.2.6. Symbol Time

LoRa symbol time is the time used by LoRa to transmit data or signals within 1 second. As the bandwidth increases, the symbol time increases. If the spreading factor (SF) increases by one, the symbol duration doubles. The equation for symbol time is shown below.(3)TSym=2SFBW,where Tsym is the symbol time in milliseconds, SF is the spreading factor (6 to 12), and BW is the bandwidth in Hz.


### 3.2.7. Sensitivity of LoRa Receiver

Three parameters must be known to calculate the receiver’s sensitivity: bandwidth (BW), noise figure (NF), and signal-to-noise ratio (SNR) limit. NF is the measure of degradation of the SNR. The NF of LoRa is different for each device for a given hardware, and for this project, the value of the LoRa NF is 6. The sensitivity of the LoRa receiver can be calculated as(4)SRx=−174+10log10BW+NF+SNRlimit,whereSRx is the sensitivity of LoRa receiver in -dBm, BW is the bandwidth in Hz, and SNRlimit is the signal-to-noise ratio limit in dB (depending on SF).


### 3.2.8. Link Budget

Link budget demonstrates LoRa signal propagation capability over a certain distance. It is a sum of all gains and losses from the LoRa transmitter, through the medium, to the LoRa receiver. Many factors influence the link budget, including transmitter power, transmitter and receiver antenna Gain, and obstacles on signal propagation. The link budget can be calculated as shown in(5)LinkbudgetdBm=PTx−SRx,wherePTx is the transmitter power in -dBm and SRx is the receiver sensitivity in -dBm.


### 3.2.9. Time-on-Air (ToA)

When a transmitter sends a signal, it takes a certain amount of time for the receiver to receive the data, known as time-on-air (ToA). A LoRa packet’s total ToA transmission can be calculated for a given spread factor, coding rate, and signal bandwidth. ToA is also known as packet duration. Theoretically, the total ToA can be calculated as(6)ToA=Tpreamble+Tpayload,whereToA is the time-on-air (ToA) in seconds, Tpreamble is the preamble duration in seconds, and Tpayload is the payload duration in seconds.


### 3.2.10. Bit Rate (Rb)

Bit rate is the bits sent in a unit of time in seconds. Spreading factor, coding rate, and frequency bandwidth play an important role in determining the bit rate. Bit rate is also known as data rate. In LoRa communication, bit rate can be expressed as(7)Rb=SF×BW2SF×44+CR,whereRb is the bit rate in bits per second, SF is the spreading factor (6 to 12), BW is the bandwidth in Hz, and CR is the coding rate (1 to 4).


### 3.2.11. Packet Structure

In LoRa communication, there are two types of packet formats: implicit and explicit. The implicit mode does not have a header section in the packet structure. Cyclic redundancy check (CRC) is used to detect errors in digital data. In this project, the explicit header mode is used to calculate the number of successfully received packets, and the CRC is enabled (Figure3). The preamble length used is 12 symbols with a payload length of 64 bytes.Figure 3
LoRa SX1276 packet structure.


## 3.2.1. Spreading Factor (SF)

The spreading factor in LoRa communication is the number of symbols sent per bit of information. It is an essential physical layer parameter since it affects the LoRa communication abilities in the range of 6 to 12. The higher spreading factor indicates the wider coverage, higher signal-to-noise ratio, and sensitivity. However, the higher spreading factor takes more time-on-air [33]. For the SX1276 LoRa module, a spreading factor of 6 is a particular use for the highest data rate transmission possible. Each spreading factor can be calculated as 2SF to obtain the spreading in chips/symbol (refer to Table 4). For example, the SF value of 12 means that each symbol can carry 12 raw bits of information, and 2SF is 212=4096 chips/symbol, which means that there are 4096 chip values ranging from 0 to 4095.Table 4
Spreading factor (SF) in chips/symbol.
Spreading factor (SF)Spreading factor in chips/symbols664712882569512101024112048124096


## 3.2.2. Bandwidth (BW)

The SX1276 microprocessor has a bandwidth range or range of frequencies that limit the transmission from 7.8 kHz to 500 kHz, as shown in Table3. For network usage such as LoRaWAN, the frequency bandwidth is limited to 125, 250, and 500 kHz, depending on the deployment region. An increase in frequency bandwidth indicates that data and bit rate increase while decreasing transmission time. Bandwidth is equivalent to chip rate. For example, if the transceiver uses a bandwidth of 250 kHz, the chip rate must be 250 kbps.


## 3.2.3. Coding Rate (CR) and Forward Error Correction (FEC)

Coding rate (CR) is the proportion of the transmitted bits that carries information. A higher CR will give more robust protection from interference. The CR is related to forward error correction (FEC) in LoRa communication. FEC is the process where error correction bits are added to the transmitted data, which helps restore data when data gets corrupted by interference. Higher error correction bits mean the more accessible the data can be corrected. However, it decreases battery life. For example, if the CR of 4/8 is used in the SF of 10, there are a total of 10 transmitted bits; 5 bits are the CR that carries information, and another 5 bits are used for error correction. LoRa has a CR of 4/5, 4/6, 4/7, or 4/8, which can be obtained using Equation (1), where n is 1, 2, 3, and 4. In this project, the coding rate is expressed with the n value. For example, CR1 is the highest CR with a value of 4/5, while CR4 is the lowest CR with a value of 4/8 as shown in Table 5.
(1)CR=44+n.Table 5
Coding rate (CR) expression.
ExpressionnCyclic coding rateCR=4/4+nCR114/5CR224/6CR334/7CR444/8


## 3.2.4. Receive Signal Strength Indicator (RSSI)

Receive signal strength indicator (RSSI) indicates how well the receiver can hear the transmitter signal power in milliwatts, measured in unit dBm. It is helpful to determine whether the measured signal can establish a good wireless connection. RSSI is in a negative value. The RSSI value closer to -30 dBm indicates that the signal is strong, while the RSSI value closer to -120 dBm indicates that the signal is weak. Theoretically, RSSI can be calculated by(2)RSSI=10logPR,where RSSI is the receive signal strength indicator in -dBm andPR is the receiver power in –dBm.


## 3.2.5. Signal-to-Noise Ratio (SNR)

The ratio between the power of the carrier which carries bits of information and the power of unwanted man-made or natural noise in a communication channel is known as signal-to-noise ratio (SNR). This ratio allows to assess quality of the received signal, and its unit expression is dB. A positive SNR value indicates that the received signal operates above the noise floor, and the higher the ratio, the better the quality, as shown in Figure2. However, LoRa modulation can still operate well below the noise level, making it more robust to jamming and noise interference [34].Figure 2
The received signal operates above the noise floor.


## 3.2.6. Symbol Time

LoRa symbol time is the time used by LoRa to transmit data or signals within 1 second. As the bandwidth increases, the symbol time increases. If the spreading factor (SF) increases by one, the symbol duration doubles. The equation for symbol time is shown below.(3)TSym=2SFBW,where Tsym is the symbol time in milliseconds, SF is the spreading factor (6 to 12), and BW is the bandwidth in Hz.


## 3.2.7. Sensitivity of LoRa Receiver

Three parameters must be known to calculate the receiver’s sensitivity: bandwidth (BW), noise figure (NF), and signal-to-noise ratio (SNR) limit. NF is the measure of degradation of the SNR. The NF of LoRa is different for each device for a given hardware, and for this project, the value of the LoRa NF is 6. The sensitivity of the LoRa receiver can be calculated as(4)SRx=−174+10log10BW+NF+SNRlimit,whereSRx is the sensitivity of LoRa receiver in -dBm, BW is the bandwidth in Hz, and SNRlimit is the signal-to-noise ratio limit in dB (depending on SF).


## 3.2.8. Link Budget

Link budget demonstrates LoRa signal propagation capability over a certain distance. It is a sum of all gains and losses from the LoRa transmitter, through the medium, to the LoRa receiver. Many factors influence the link budget, including transmitter power, transmitter and receiver antenna Gain, and obstacles on signal propagation. The link budget can be calculated as shown in(5)LinkbudgetdBm=PTx−SRx,wherePTx is the transmitter power in -dBm and SRx is the receiver sensitivity in -dBm.


## 3.2.9. Time-on-Air (ToA)

When a transmitter sends a signal, it takes a certain amount of time for the receiver to receive the data, known as time-on-air (ToA). A LoRa packet’s total ToA transmission can be calculated for a given spread factor, coding rate, and signal bandwidth. ToA is also known as packet duration. Theoretically, the total ToA can be calculated as(6)ToA=Tpreamble+Tpayload,whereToA is the time-on-air (ToA) in seconds, Tpreamble is the preamble duration in seconds, and Tpayload is the payload duration in seconds.


## 3.2.10. Bit Rate (Rb)

Bit rate is the bits sent in a unit of time in seconds. Spreading factor, coding rate, and frequency bandwidth play an important role in determining the bit rate. Bit rate is also known as data rate. In LoRa communication, bit rate can be expressed as(7)Rb=SF×BW2SF×44+CR,whereRb is the bit rate in bits per second, SF is the spreading factor (6 to 12), BW is the bandwidth in Hz, and CR is the coding rate (1 to 4).


## 3.2.11. Packet Structure

In LoRa communication, there are two types of packet formats: implicit and explicit. The implicit mode does not have a header section in the packet structure. Cyclic redundancy check (CRC) is used to detect errors in digital data. In this project, the explicit header mode is used to calculate the number of successfully received packets, and the CRC is enabled (Figure3). The preamble length used is 12 symbols with a payload length of 64 bytes.Figure 3
LoRa SX1276 packet structure.


## 3.3. Integrate MH-ET Live Sensor to LoRa SX1276 Module

Since the sensor uses the I2C protocol, the sensors’ pins must be connected to the SDA and SCL pins of the processor to display its outputs. Different versions of TTGO LoRa modules have different pin configurations, pins explicitly for the processor transceiver chip and also the OLED display. In this project, the TTGO LoRa module used is version 2.1.6. The OLED display I2C pins for this version of TTGO LoRa modules are as follows: SDA is pin 21, and SCL is pin 22, to connect the sensor to LoRa modules. The connection pins between the two hardware are shown in Table6. The sensor’s VIN pin is connected to the 3.3 V pin on the LoRa module to avoid arcing, internal damage, or defects towards the sensor.Table 6
Connection pins between sensor and LoRa module.
MAX30102 pinsTTGO LoRa pinsVIN3.3 VGNDGNDSDA22SCL21In this project, both transmitter and receiver modules used TTGO LoRa version 2.1.6 with omnidirectional antennas of +2 dBi, together with Semtech’s SX1276 module that enables comparison between low and high frequencies. The transmit power used was 13 dBm for the LoRa transmitter. For outdoor usage, both LoRa transmitter and receiver modules were connected to separate portable chargers. The frequency bandwidth of 125 kHz, spreading factor (SF) of 7, and coding rate (CR) of 4/5 are used. For the preamble, the packet was set up with a 12-symbol sequence with the payload length of 64 bytes with enabled cyclic redundancy check. The explicit header mode is enabled to provide basic payload information such as the payload length. The error correction code used is 4/6, with a packet error rate of 1%.


## 3.4. MAX30102 Sensor Test via LoRa Communication

In order to develop a device for LoRa IoT-based towards patients for health monitoring purposes, the measured data, which are pulse rate and blood oxygen saturation by the sensor, need to be evaluated so that it can be implemented in real life. The sensor output will be shown on the transmitter’s OLED screen when the user places their finger onto the sensor. Then, the LoRa transmitter will send data to the LoRa receiver, and the data will be displayed on the receiver’s OLED screen. For this part, the integrated MH-ET Live MAX30102 sensor with the LoRa transmitter is used to send the data to the LoRa receiver. The LoRa receiver is connected to the Arduino IDE software in the personal computer to view the output data measured by the sensor. By connecting the LoRa receiver to the Arduino IDE software, the detailed output of graphical and digital data can be interpreted from the serial plotter and serial monitor. Figure4 shows the sensor test block diagram.Figure 4
Sensor test block diagram.


## 3.5. Outdoor Environmental Test

This section provides the experimental environments, procedures, and visual representation of each test. Several locations were chosen to be an ideal environment to perform the test. At each location, real-time measurements were taken. The test was carried out in a suburban area in Nibong Tebal, Penang, to observe the LoRa performance under the line-of-sight (LoS) and non-line-of-sight (NLoS) to test out varying effects of distance towards LoRa receiver’s RSSI and SNR. The LoRa receiver is programmed to display the SNR and RSSI value obtained at various distances onto the OLED display (Figure5).Figure 5
LoRa receiver OLED displaying RSSI and SNR values.Line-of-Sight (LoS) is a type of propagation that allows data to be transmitted and received when the transmitter and receiver are in view of each other without any obstacle between them. For LoS, the test was carried out on P146 road in Nibong Tebal, Penang (Figure6). P146 road is considered an ideal site for the LoS test since it is a suburban area with a straight line of 3 kilometres from one end to the other. The test was conducted around 0300 Malaysian time; therefore, P146 roads are clear with no obstacles or vehicles along the road between the LoRa transmitter and receiver. However, due to the low spreading factor of 7 set by default into the LoRa modules, it is estimated that the LoRa communication will have a weak RSSI even the distance is 1 kilometre. The test is carried out by measuring the RSSI and SNR values of LoRa receiver with the range increment of 100 metres between the modules until the LoRa receiver cannot receive the packets.Figure 6
Site for line-of-sight (LoS) test.Non-line-of-sight (NLoS) refers to a situation where the transmitted signal reaches the receiver not by direct path; instead, the signal propagates through reflection or diffraction. For NLoS, the test was carried out at Taman Bukit Panchor, Nibong Tebal, Penang. The environment is a suburban area with house residential areas. The total displacement from one end to the other is approximately 240 meters apart, as shown in Figure7(a). The distance between one house’s front yard and the backyard is about 30 meters, as shown in Figure 7(b). The NLoS test was carried out by taking a measurement of RSSI and SNR between each house, with a total number of 8 houses.Figure 7
(a) Site for non-line-of-sight (NLoS) test and (b) approximate displacement of one house.
(a)(b)


## 3.6. Analysis by Using Graphical User Interface (GUI)

LoRa modem calculator user interface is used to evaluate the performance of LoRa communication at different input parameters [35]. Three main inputs need to be considered: LoRa modem settings, packet configuration, and radio frequency settings. For the LoRa modem settings, we can define spreading factor ranges from 6 to 12, a bandwidth of 7.8 kHz to 500 kHz, a coding rate of 1 until 4, and an optional low data rate optimizer. The packet configuration allows the user to define the payload length in bytes, programmed preamble in symbols, type of header mode, either implicit mode or explicit mode, and the usage of cyclic redundancy check. For radio frequency settings, users can define the centre frequency used in Hz, the transmit power by LoRa transmitter in dBm, and hardware implementation. This calculator also provides the compatible SX product section, which means that it is easier for the user to identify if the specific inputs are compatible with the specific SX products, which in this project uses SX1276 LoRa chip. This calculator tool is useful to obtain specific parameters theoretically, which is an efficient platform to analyze and evaluate the performance of LoRa at different conditions by varying input parameters. The payload length is set to 64 bytes, the programmed preamble is set to 12 symbols, and explicit header mode and cyclic redundancy check are enabled. For radio frequency settings, the centre frequency is set to 433 MHz, hardware implementation is disabled, and transmit power is set to 13 dBm.In order to obtain sensitivity, link budget, and symbol time, the manipulated variables of input parameters are spreading factor and bandwidth as shown in Figure8(a). The coding rate is not included in the manipulated input parameters because it does not affect the performance of LoRa in terms of sensitivity, link budget, and symbol time. The input parameters of bandwidth used are 7.8, 10.4, 15.6, 20.8, 31.2, 41.7, 62.5, 125, 250, and 500 kHz, while the spreading factors used are 6, 7, 8, 9, 10, 11, and 12. In order to obtain bit rate and time-on-air, the manipulated variables of input parameters are spreading factor, bandwidth, and coding rate as shown in Figure 8(b). The spreading factor used ranges from 6 to 12; the frequency bandwidths used are 125, 250, and 500 kHz; and the coding rates used are CR1 (4/5), CR2 (4/6), CR3 (4/7), and CR4 (4/8), respectively.Figure 8
Block diagram to obtain (a) sensitivity, link budget, and symbol time and (b) bit rate and time-on-air.
(a)(b)


## 4. Results and Discussion

### 4.1. MAX30102 Sensor Test via LoRa Communication

Figure9(a) shows the sensor’s output when the finger is not placed on the sensor. The current and average heartbeat per minute detected by the sensor is zero. Figure 9(b) shows the initial reading of the sensor when a fingertip is placed on it. This heart rate value is inaccurate because when user put their fingertip onto the sensor, it requires certain amount of time for the sensor to read the pulse properly.Figure 9
Output data (a) when the finger is not placed on the sensor and (b) with sensor initial reading when fingertip is detected.
(a)(b)Figure10(a) shows an example of using a knuckle instead of fingertip applied onto the sensor. An accurate pulse reading cannot be obtained because the sensor cannot detect the arterial pulse at the fingertip. This shows that using other body parts instead of the fingertip is ineffective to measure the pulse rate, and therefore, an accurate pulse reading cannot be obtained. Figure 10(b) shows the valid and accurate output of pulse rate and blood oxygen saturation reading.Figure 10
Output data (a) when applying knuckle onto the sensor instead of fingertip and (b) showing valid sensor output with accurate readings.
(a)(b)Figure11(a) shows the graph of output pulse rate, which can be obtained by viewing the Arduino IDE serial plotter. This demonstrates the fingertip pulse that the sensor has detected. When the fingertip is placed correctly on the sensor, the sensor can detect the arterial blood and measure the pulse detection. The graph maintains continuously with almost the same pattern as long as the fingertip pulse is detected. Figure 11(b) demonstrates the sensor output with the absence of a fingertip.Figure 11
Output data (a) when finger is placed properly on the sensor and (b) when finger is not placed on sensor.
(a)(b)


### 4.2. Outdoor Environmental Test

The value of SNR is influenced by the noise floor. For the spreading factor of 7 that is used in this project, theSNRlimit is -7.5 dB, which means that once the SNR is below -7.5 dB, the receiver will not be able to demodulate the signal. This means that once the value of SNRlimit is achieved, the signal will not be able to be received by the LoRa receiver. Theoretically, the minimum RSSI for the LoRa receiver to receive signal is -130 dBm. Figure 12(a) shows the RSSI and SNR values obtained at an increasing distance in the LoS test. The receiver cannot receive the signal even though the SNR value has not reached -7.5 dB yet at 1300 meters. This is because, after 1300-meter distance between the modules, the LoRa receiver cannot receive the signal by LoRa transmitter due to the RSSI limit.Figure 12
RSSI and SNR obtained (a) at different distance in LoS and (b) at different numbers of houses in NLoS.
(a)(b)Figure12(b) shows the RSSI and SNR values obtained at an increasing number of houses in the NLoS test. The SNR value drops from positive to negative after house number 4. This is probably because other radio frequency devices in each house interfere with the LoRa signal. Devices that use radio frequency such as television, remote control, and smartphones will increase the noise, thus affecting the SNR value, making the LoRa signal operates below the radio noise. Since the test was performed in the residential suburban area, many devices will use other radio frequencies that affect LoRa communication performance. Even with a low spreading factor of 7 is used, LoRa still transmits the signal to the receiver with over 8 houses. This is possibly because LoRa has the ability to perform well in a multipath channel, which means that the receiver can receive the signal even after passing through the walls of buildings. In addition, low ISM carrier frequencies can penetrate brick walls, trees, and concretes effectively, resulting in less loss than high frequency bands.


### 4.3. Analysis by Using Graphical User Interface

Figures13(a)–13(e) show the result analysis on how different bandwidth and spreading factors change with sensitivity, link budget, symbol time, bit rate, and time-on-air using the LoRa modem calculator. As mentioned theoretically, the GUI analysis proved that the higher spreading factor gives the wider coverage range and higher sensitivity. An increase in frequency bandwidth indicates that data and bit rate increase while decreasing transmission time. A higher CR gives more robust protection from interference. Moreover, as the bandwidth increases, the symbol time also increases.Figure 13
(a) Sensitivity vs. SF at different BW. (b) Link budget vs. SF at different BW. (c) Bit rate vs. SF at different BW and CR. (d) Time-on-air vs. SF at different BW and CR. (e) Symbol time vs. SF at different BW.
(a)(b)(c)(d)(e)


## 4.1. MAX30102 Sensor Test via LoRa Communication

Figure9(a) shows the sensor’s output when the finger is not placed on the sensor. The current and average heartbeat per minute detected by the sensor is zero. Figure 9(b) shows the initial reading of the sensor when a fingertip is placed on it. This heart rate value is inaccurate because when user put their fingertip onto the sensor, it requires certain amount of time for the sensor to read the pulse properly.Figure 9
Output data (a) when the finger is not placed on the sensor and (b) with sensor initial reading when fingertip is detected.
(a)(b)Figure10(a) shows an example of using a knuckle instead of fingertip applied onto the sensor. An accurate pulse reading cannot be obtained because the sensor cannot detect the arterial pulse at the fingertip. This shows that using other body parts instead of the fingertip is ineffective to measure the pulse rate, and therefore, an accurate pulse reading cannot be obtained. Figure 10(b) shows the valid and accurate output of pulse rate and blood oxygen saturation reading.Figure 10
Output data (a) when applying knuckle onto the sensor instead of fingertip and (b) showing valid sensor output with accurate readings.
(a)(b)Figure11(a) shows the graph of output pulse rate, which can be obtained by viewing the Arduino IDE serial plotter. This demonstrates the fingertip pulse that the sensor has detected. When the fingertip is placed correctly on the sensor, the sensor can detect the arterial blood and measure the pulse detection. The graph maintains continuously with almost the same pattern as long as the fingertip pulse is detected. Figure 11(b) demonstrates the sensor output with the absence of a fingertip.Figure 11
Output data (a) when finger is placed properly on the sensor and (b) when finger is not placed on sensor.
(a)(b)


## 4.2. Outdoor Environmental Test

The value of SNR is influenced by the noise floor. For the spreading factor of 7 that is used in this project, theSNRlimit is -7.5 dB, which means that once the SNR is below -7.5 dB, the receiver will not be able to demodulate the signal. This means that once the value of SNRlimit is achieved, the signal will not be able to be received by the LoRa receiver. Theoretically, the minimum RSSI for the LoRa receiver to receive signal is -130 dBm. Figure 12(a) shows the RSSI and SNR values obtained at an increasing distance in the LoS test. The receiver cannot receive the signal even though the SNR value has not reached -7.5 dB yet at 1300 meters. This is because, after 1300-meter distance between the modules, the LoRa receiver cannot receive the signal by LoRa transmitter due to the RSSI limit.Figure 12
RSSI and SNR obtained (a) at different distance in LoS and (b) at different numbers of houses in NLoS.
(a)(b)Figure12(b) shows the RSSI and SNR values obtained at an increasing number of houses in the NLoS test. The SNR value drops from positive to negative after house number 4. This is probably because other radio frequency devices in each house interfere with the LoRa signal. Devices that use radio frequency such as television, remote control, and smartphones will increase the noise, thus affecting the SNR value, making the LoRa signal operates below the radio noise. Since the test was performed in the residential suburban area, many devices will use other radio frequencies that affect LoRa communication performance. Even with a low spreading factor of 7 is used, LoRa still transmits the signal to the receiver with over 8 houses. This is possibly because LoRa has the ability to perform well in a multipath channel, which means that the receiver can receive the signal even after passing through the walls of buildings. In addition, low ISM carrier frequencies can penetrate brick walls, trees, and concretes effectively, resulting in less loss than high frequency bands.


## 4.3. Analysis by Using Graphical User Interface

Figures13(a)–13(e) show the result analysis on how different bandwidth and spreading factors change with sensitivity, link budget, symbol time, bit rate, and time-on-air using the LoRa modem calculator. As mentioned theoretically, the GUI analysis proved that the higher spreading factor gives the wider coverage range and higher sensitivity. An increase in frequency bandwidth indicates that data and bit rate increase while decreasing transmission time. A higher CR gives more robust protection from interference. Moreover, as the bandwidth increases, the symbol time also increases.Figure 13
(a) Sensitivity vs. SF at different BW. (b) Link budget vs. SF at different BW. (c) Bit rate vs. SF at different BW and CR. (d) Time-on-air vs. SF at different BW and CR. (e) Symbol time vs. SF at different BW.
(a)(b)(c)(d)(e)


## 5. Conclusions

The MAX30102 MH-ET Live sensor was tested to be used for health monitoring purposes. The output value obtained by the serial monitor and serial plotter from Arduino IDE by connecting the sensor to Arduino Uno proves that the sensor can obtain an accurate pulse rate and blood oxygen saturation value. This means that this sensor is efficient and reliable to read the user’s pulse rate and blood oxygen saturation to be implemented in real-life conditions. The sensor is then integrated with LoRa modules, and the LoRa performance is tested in both LoS and NLoS conditions. In the LoS test, the LoRa receiver is able to demodulate the signal from the LoRa transmitter up to 1300-meter distance with the last recorded RSSI of -118 dBm. This is because the limitation of RSSI is achieved, which is -130 dBm. The SNR limit value is -7.5 dB for the spreading factor of 7 used, and for this test, the SNR value recorded at the distance of 1300 meters is still above the SNR limit with a value of -6.5 dB. The RSSI and SNR values of these two conditions vary because in NLOS test, the signals are obstructed with the houses, creating greater path loss and signal attenuation. The maximum LoRa signal transmission range is limited due to these obstacles. However, in the NLoS test, the LoRa receiver was still able to receive the signal from the LoRa transmitter, even after 8 blocks of houses with a displacement of approximately 240 meters apart between the LoRa modules with RSSI of -113 dBm and SNR of -5.42 dB. In addition, the test was conducted in residential suburban areas where other radio frequency devices produce noises, yet LoRa modules are still able to communicate. This phenomenon is due to LoRa’s ability to perform well in the multipath channel and high immunity to interference even after being obstructed with many houses and interfered with by other radio frequency devices. In addition, low ISM carrier frequencies used in this project which is 433 MHz can penetrate brick walls, trees, and concretes effectively, resulting in less path loss than higher carrier frequency bands. Theoretically, by modifying the LoRa input parameters such as spreading factor, bandwidth, antenna gains, and transmission power to a higher value, a higher range of LoRa communication can be achieved for both LoS test and NLoS test.



---

*Source: 6066354-2022-10-21.xml*