1. Introduction
Cardiovascular diseases (CVDs) are one of the leading causes of death worldwide and pose a serious threat to human health. Early detection and continuous monitoring of cardiac health, especially heart rate, are essential for the effective management and prevention of CVDs. Abnormal fluctuations in heart rate, either too high or too low, may cause varying degrees of damage to the body and even lead to serious health events. Therefore, real-time and convenient monitoring of heart rate is of great clinical and social importance [1].
In recent years, remote patient monitoring (RPM) and home health management models have received unprecedented attention, driven by the increasing trend of population aging, the continuous rise in healthcare costs, and global public health events (e.g., COVID-19) [2]. Continuous, low-cost monitoring of physiological parameters in the home environment, especially for chronically ill and elderly populations, has become an important direction in the development of modern healthcare systems. Internet of Things (IoT) technology, with its ability to connect everything, real-time sensing and intelligent processing, provides powerful technical support for building new smart healthcare and RPM systems [3]. Many national strategic plans, such as China's "14th Five-Year Plan for National Health Informatization", which mentions the promotion of IoT application pilots in healthcare, also further highlight the strategic importance of developing IoT-based health monitoring devices.
However, the current market of heart rate monitoring devices still faces many challenges in meeting the needs of daily use at home. Although traditional clinical-grade monitoring devices are highly accurate, they are usually bulky, expensive and complicated to operate, making them unsuitable for long-term use by ordinary home users. On the other hand, although consumer-grade wearable devices (e.g., smartwatches, bracelets) are increasingly integrated with heart rate monitoring and often utilize PPG technology, they may be deficient in terms of stability of data transmission, real-time performance, system integration, and ease-of-use for specific user groups (e.g., the elderly) [4]. As emphasized in the initial system requirements, some of the existing home health monitoring devices suffer from "insufficient stability of data transmission, poor real-time performance, and weak system integration", which limit their wide application in smart healthcare. In addition, when using these high-tech products, elderly users may face problems such as complex interface, privacy leakage concerns, and device battery life.
To address these issues, this paper designs and implements a low-cost, IoT-based home heart rate monitoring system. The system is based on an STM32 microcontroller as the core, integrated with a PPG sensor for heart rate and blood oxygen saturation (SpO₂) acquisition, and supplemented with a body temperature sensor. Through the WiFi module, the monitoring data can be transmitted to the cloud server and the user's mobile terminal APP in real time.The main contributions of this study include:
1. constructed an integrated hardware platform capable of real-time acquisition of multiple physiological parameters such as heart rate, blood oxygen saturation and body temperature.
2. developed a user-friendly mobile application that supports data display, historical trend analysis and configurable abnormal alarm thresholds.
3. Validated the system's practical performance in a home environment, including acceptable measurement accuracy and low data transmission latency.
4. Provides a cost-effective solution for home users who need convenient, continuous health monitoring, especially the chronically ill and elderly.
2. Methods
2.1. Overall system architecture
The home heart rate monitoring system designed in this study aims to achieve real-time acquisition, wireless transmission, data storage, visualization display and abnormal warning of users' physiological parameters. The overall design of the system, shown in Figure 1, follows the concept of IoT layered architecture and is optimized for home use scenarios.

Sensing Layer
This layer is responsible for the direct acquisition of physiological signals from the user. Core components include the MAX30102 PPG sensor for non-invasive measurement of heart rate and SpO₂, and the DS18B20 digital temperature sensor for measuring body surface temperature. These sensors pass the captured analog or digital signals to the next layer for processing.
Processing and Transmission Layer
At the heart of this layer is the STM32F103C8T6 microcontroller (MCU), which is responsible for reading raw data from the sensors, performing preliminary data parsing and processing (e.g., calculating heart rate values based on PPG signals), controlling the OLED display to show the data in real time, and driving a buzzer to sound an alarm when an abnormality is detected. The processed data is transmitted wirelessly via the on-board ESP8266 WiFi module, which was selected based on its wide coverage in home environments, high data transfer rate, and ease of integration with existing home networks. The data is transmitted to the back-end server via TCP/IP protocol and also supports interaction with mobile applications within the LAN.
Application and Service Layer
This layer includes the back-end server and the mobile application. The back-end server is developed in Java language and uses MySQL database for data storage and management. The server is responsible for receiving data packets from ESP8266, performing data verification, persistent storage, and providing API interfaces for mobile applications to call. The mobile application (Android platform) serves as the main interface for user interaction, through which users can complete registration and login, view real-time physiological data, review historical data trend graphs (e.g., curves of heart rate, blood oxygen, and temperature over time), set personalized health alarm thresholds, and receive push notifications when data are abnormal.
The data flow begins at the sensing layer, where physiological signals are captured by sensors and then acquired and initially processed by the STM32 MCU. Subsequently, the processed data packets are sent to the back-end server for storage and further processing via the ESP8266 WiFi module. The user interacts with the back-end server via a mobile application to request and display the health data, realizing remote health condition monitoring and management. This architecture embodies the typical client-server IoT model, which realizes a complete closed loop from data collection to user feedback through the collaborative work of each component.
2.2. Hardware design
The hardware platform of the system is the basis for realizing accurate acquisition and reliable transmission of physiological parameters. The design prioritizes the performance, cost-effectiveness, ease of use, and integration of components to suit the needs of the home use environment.
2.2.1. MCU
The system selects STM32F103C8T6 as the main controller. This MCU is based on ARM Cortex-M3 core with up to 72MHz main frequency, 64KB Flash memory and 20KB SRAM, which can meet the needs of data processing and control tasks of this system. Its rich peripheral interfaces, such as I2C, SPI, USART and ADC, facilitate the connection with various types of sensors and modules. In addition, the STM32 family has a wide development ecosystem and low power consumption, making it an ideal choice for embedded health monitoring applications.
2.2.2. Sensing modules
1. PPG sensor
The system uses the MAX30102 sensor module for heart rate and oxygen saturation measurements.PPG technology is a non-invasive optical measurement method that works on the following principle: light of a specific wavelength (usually red and infrared) emitted by the sensor is irradiated into the skin tissue, and the absorption rate of the light by hemoglobin in the blood varies with the beat-to-beat variation of the blood volume. The photodetector receives the changes in intensity of the reflected or transmitted light signals, which are synchronized with the cardiac cycle so that the pulse wave signal can be extracted, which in turn allows the calculation of heart rate and SpO₂ [5].
2. Body temperature sensor
A DS18B20 digital temperature sensor is selected for the system to measure the user's body surface temperature. The sensor uses a single bus interface to communicate with the MCU and is characterized by high measurement accuracy and simple peripheral circuitry. Body temperature, as an important physiological indicator, can provide auxiliary information for health status assessment.
2.2.3. Communication module
The system utilizes the ESP8266 WiFi module for wireless data transmission.The ESP8266 is a highly integrated SoC with a built-in TCP/IP stack that supports the standard IEEE 802.11 b/g/n protocol. The main reasons for choosing the ESP8266 are its low cost, extensive community support, ease of integration with MCUs (usually controlled using AT commands through the UART interface, or programmed directly to them), and the ability to easily access the home's existing WiFi network so that data can be sent to a back-end server on the Internet.
2.2.4. User interaction and alarm module
1. Display Module
The system integrates an OLED display, which is used to display the current measured heart rate, SpO2 and body temperature in real time on the device side, so that the user can view them instantly.The OLED display has the advantages of self-illumination, high contrast, wide viewing angle and relatively low power consumption.
2. Alarm Module
An active buzzer is used as a local audible alarm device. When the MCU detects that the monitoring data (e.g. heart rate) exceeds the safety threshold set by the user on the mobile app, it will drive the buzzer to emit a warning tone to alert the user or his/her family members of potential health risks.
2.2.5. Minimum system circuit design
In order to ensure the stable operation of the main control system and modules, the necessary minimum system circuits are designed as shown in Figure 2, including:
1. Power Supply Circuit
The AMS1117-3.3 linear regulator is used to convert the external input voltage (e.g., 5V USB power supply) into a stable 3.3V to supply power to the STM32 MCU and other modules. Filter capacitors are included in the circuit to minimize power supply noise.
2. Crystal Circuitry
provides accurate clock signals for the STM32 MCU, including an 8MHz high-speed external crystal (HSE) for the system master clock and a 32.768kHz low-speed external crystal (LSE) for the real-time clock (RTC) function.
3. Reset Circuitry
provides a manual reset function to ensure that the system can be restored to its initial state under abnormal conditions.
The selection and integration of the hardware components take into account the positioning of a “home heart rate monitoring system”, i.e., to ensure the basic functions and performance, while striving for portability, daily use and cost control.

The software part of the system includes embedded firmware, back-end server application and front-end mobile application, which work together to form a complete data collection, processing, storage, display and warning system.
2.3. Software design
The software part of the system includes the embedded firmware, the back-end server application and the front-end mobile application, which work together to form a complete data acquisition, processing, storage, display and warning system.
The embedded firmware of STM32F103C8T6 is responsible for initializing all peripherals and periodically collecting data from MAX30102 and DS18B20 sensors. The firmware performs initial processing of the collected raw PPG data, such as filtering and peak detection, to calculate the heart rate value. The processed physiological data is displayed on an OLED screen and compared to an alarm threshold, driving a buzzer alarm if out of range. Eventually, the data is packaged and sent to the ESP8266 WiFi module via UART. the firmware of the ESP8266 is then responsible for connecting to the home WiFi network and reporting the received packets to the back-end server via HTTP or MQTT protocol.
The back-end server, as the data hub of the system, is developed in Java language and MySQL is chosen as the database. It provides a set of RESTful APIs for communicating with the device side and the mobile application side, and is responsible for data reception, validation, persistent storage, and business logic processing, such as user authentication and message pushing. The database design focuses on the core functions and mainly contains user table, physiological data table and alarm configuration table to support efficient data query and management.
The mobile application is the main front-end for user interaction with the system and is developed based on the Android platform. It provides functions such as user account management, real-time data display, historical data query and visualization (through forms such as line graphs), alarm threshold setting, and alarm notification.
Considering the sensitivity of health data, the security of data transmission is crucial. In actual deployment, encrypted transmission protocols such as HTTPS or MQTTS (MQTT over TLS/SSL) should be used to protect the confidentiality and integrity of data during transmission . User authentication and authorization mechanisms are also important to ensure that only legitimate users can access their data.
2.4. Signal processing and data analysis
Proper processing and analysis of the raw physiological signals acquired is essential to ensure accurate and reliable monitoring results. The raw PPG signals acquired from the MAX30102 sensor may contain a variety of noises, such as power supply IF interference, ambient light interference, and motion artifacts (MA) caused by the user's physical activity. Therefore, digital signal processing at the MCU or server side is necessary. In this system, the STM32 MCU may perform basic preprocessing operations such as applying a Moving Average Filter (MAF) to smooth the signal, remove high-frequency noise, and perform baseline drift correction [6].
Heart Rate (HR) calculation is usually obtained by detecting the peaks of the pulse wave in the PPG signal and calculating the Peak-to-Peak Interval (PPI). This involves identifying the peaks using peak detection algorithms (e.g., threshold and local maximum based methods), calculating the time interval between neighboring peaks, and ultimately converting to a heart rate value. Multiple PPI values over a period of time are usually averaged in order to obtain a more stable reading.
The calculation of blood oxygen saturation (SpO2), on the other hand, is based on the Lambert-Beer law, which is estimated by analyzing the different absorption rates of red and infrared light in the blood.The SpO2 calculation algorithm is usually integrated inside the MAX30102, and the MCU can read the calculation results directly [7].
Finally, the system allows the user to set the normal range thresholds for heart rate, SpO2, and body temperature via a mobile APP. the MCU or back-end server will continuously compare the real-time monitoring data with the thresholds set by the user. Once the range is exceeded, the system will trigger an alarm mechanism, including a local buzzer sounding and pushing an alarm notification to the user's mobile APP.
3. Results
3.1. Hardware prototype implementation
Figure 3 shows a physical photo of the hardware prototype, which mainly integrates components such as the STM32F103C8T6 microcontroller core board, the MAX30102 heart rate oximetry sensor module, the DS18B20 body temperature sensor, the ESP8266 WiFi module, the OLED display, and the buzzer. The modules were connected via DuPont wire or soldering, and preliminary integration tests were performed to ensure correct electrical connections and basic functionality of each module. When the hardware prototype is successfully connected to the power supply, the indicator lights of each module will light up accordingly and the OLED display will show the current physiological data collected in real time. When the sensor detects user contact, the data on the OLED screen will be refreshed in synchronization with the data display in the mobile app.

3.2. System functionality verification
To verify the end-to-end functionality of the system, tests were conducted according to a predefined operational procedure. First, the network environment was configured and the hardware prototype was started to ensure that the ESP8266 module was successfully connected to the WiFi network. Subsequently, the back-end services and database were launched. By installing and operating the mobile application on an Android phone, it was verified that all functions, from user registration and login, alarm threshold setting, to real-time data display and historical data viewing, worked as expected. The whole testing process confirms that the data can be successfully collected from the sensor, processed by STM32, transmitted to the back-end server via ESP8266 WiFi module, and finally displayed correctly on the mobile app.
3.3. Performance evaluation
The key performance metrics of the system, i.e. heart rate measurement accuracy and data transmission latency, were quantitatively evaluated. A comparison test was conducted to validate this metric. The tester placed his finger in the sensing area of the MAX30102 sensor of the system, while a commercially available finger-clip pulse oximeter was used as a reference device for heart rate measurement. Multiple sets of measurements were performed at different time points, for different testers, and in different physiological states (resting, post-exercise).

As can be seen in Figure 4, the difference between the heart rate values measured by this system and the readings of the finger-clip device basically remained within ±4 beats per minute; the difference in oxygen saturation was basically within ±2%; and the difference between the hand temperature and the thermometer readings was around 0.4 °C. These results preliminarily indicate that the system has good accuracy under static measurement conditions and is comparable to commercially available devices.

The data in Figure 5 shows that the heart rate of the tester increases significantly after exercise, and this system is able to capture this physiological change accurately. When analyzing the data from multiple measurements together, the relative errors of the heart rate, blood oxygen and body temperature measurements are controlled within 5% for different testers and different application scenarios, which is comparable to the accuracy level reported by other health monitoring systems based on STM32 and PPG sensors.
4. Discussion
This study successfully designed and implemented an IoT-based home health monitoring system. The system integrates physiological parameter collection, wireless data transmission, mobile application interaction, and abnormal condition alerts.
To evaluate the accuracy of the system in measuring heart rate, SpO2 , and body temperature, we conducted a comparative analysis between the proposed device and traditional commercial products (including fingertip pulse oximeters and digital thermometers). The results are shown in Figure 4.
Regarding heart rate, the measurement results of the proposed device were generally consistent with those of the pulse oximeter. Most groups' readings fell within the acceptable range of ±3 beats per minute (bpm). For example, both devices in Group 1A recorded the same value of 85 bpm, indicating high consistency. However, deviations were observed in Groups 1B and 2A. In Group 1B, the proposed device reported a heart rate of 104 bpm, while the reference device reported 101 bpm. This +3 bpm difference, though clinically insignificant, indicates the need for algorithm calibration under high-pulse conditions. More notably, Group 2A showed a -4 bpm difference (80 vs. 84), which may be due to underestimation caused by motion artifacts, measurement timing, or signal quality.
The measured SpO2 values were generally close, but some notable deviations were observed. Group 1A showed a slight increase of 1% (99% vs. 98%) compared to the reference device, while Group 1B showed a decrease of 2% (97% vs. 99%), and Group 2A continued to decrease by 2%. Conversely, Group 2B showed an increase of +3% (99% vs. 96%), exceeding the typical error range of ±2% observed with non-invasive pulse oximeters. These inconsistencies suggest that while the system performs well, variability may arise due to known factors that influence SpO2 readings, such as sensor placement, environmental light interference, or skin tone sensitivity.
Regarding body temperature, the values measured by the proposed system were consistently slightly lower than those from a standard thermometer. The deviations across groups ranged from -0.2°C to -0.4°C, which is typical for infrared or surface-sensing thermometers. For example, the largest gap was observed in Group 1B: 32.1°C (suggested value) versus 32.5°C (reference value). This pattern indicates a systematic underestimation, which may be due to environmental heat loss from the skin surface or differences in measurement location (e.g., skin contact temperature measurement versus sublingual or ear canal temperature measurement).
These observed differences do not necessarily indicate device inaccuracy but reflect the challenges of correlating different measurement modalities. The proposed system uses integrated multi-sensor inputs, which may be influenced by environmental and human factors, differing from commercial single-purpose devices. However, all readings remain within the clinically acceptable error range for consumer health monitoring devices.
Overall, these data demonstrate the practical reliability of the proposed device. Despite minor variations, particularly in cases of high pulse rate or low perfusion, the system effectively approximates physiological parameters compared to standard devices. Future improvements in signal processing, device calibration, and sensor positioning could enhance consistency and accuracy in future versions.
5. Conclusions
This study proposes a low-cost home heart rate monitoring system based on the Internet of Things (IoT), which effectively integrates physiological parameter collection, real-time data transmission, and a mobile application interface for user interaction. The system offers a promising solution for continuous health monitoring, particularly for the elderly and patients with chronic diseases.
Although the system performs well under controlled conditions, further improvements are needed to enhance its accuracy and reliability across different environmental conditions and for diverse user groups. The system can simultaneously track multiple physiological parameters—heart rate, blood oxygen levels, and body temperature—enabling comprehensive health management, and is applicable for home health monitoring and chronic disease prevention.
Future work will focus on improving sensor data processing algorithms to enhance system accuracy in dynamic environments, optimizing battery performance to extend usage time, and enhancing the mobile application to provide more personalized health insights. Additionally, the integration of more sensors and broader system scalability will be explored to offer a more comprehensive health monitoring solution.
This work demonstrates the potential of IoT technology to transform home healthcare, providing a convenient and cost-effective means for remote health management.
References
[1]. Babalola, A. D., Akingbade, K. F., & Ubochi, B. C. (2022). The performance of the STM32 microcontroller and MAX30102 for remote health monitoring device design.Journal of Digital Innovations & Contemporary Research in Science, Engineering & Technology,10(1), 51–68. https: //dx.doi.org/10.22624/AIMS/DIGITAL/V10N1P4
[2]. Valsalan, P., Baomar, T. A. B., & Baabood, A. H. O. (2020). IoT based health monitoring system.Journal of Critical Reviews, 7(4), 739-743.
[3]. Raj, K. M., Kumar, K., Agrawal, M., & Kadam, P. D. (2023). IoT-based patient health monitoring using ESP8266 module & Arduino.International Journal of Scientific Research in Engineering and Management,7(7), 1–6.
[4]. Alsayaydeh, J. A. J., Yusof, M. F. B., Abdul Halim, M. Z. B., Zainudin, M. N. S., & Herawan, S. G. (2023). Patient health monitoring system development using ESP8266 and Arduino with IoT platform.International Journal of Advanced Computer Science and Applications,14(4), 513–521. https: //doi.org/10.14569/IJACSA.2023.0140467
[5]. Analog Devices. (2018). MAX30102 high-sensitivity pulse oximeter and heart-rate sensor for wearable health. Retrieved from https: //www.analog.com/media/en/technical-documentation/data-sheets/max30102.pdf
[6]. Alqaraawi, A., Alwosheel, A., & Alasaad, A. (2016). Heart rate variability estimation in photoplethysmography signals using Bayesian learning approach.Healthcare Technology Letters, 3(2), 136–142. https: //doi.org/10.1049/htl.2016.0006
[7]. Valenti, S., Volpes, G., Parisi, A., Buscemi, A., Cino, A., Meli, F., & D'Acquisto, L. (2023). Wearable multisensor ring-shaped probe for assessing stress and blood oxygenation: Design and preliminary measurements.Biosensors, 13(4), 460. https: //doi.org/10.3390/bios13040460
Cite this article
Zheng,T.;Li,Q.;Liu,K.;Xie,W.;Luo,D. (2025). An IoT home heart rate monitoring system with real-time data transmission and mobile application interface. Advances in Engineering Innovation,16(7),92-99.
Data availability
The datasets used and/or analyzed during the current study will be available from the authors upon reasonable request.
Disclaimer/Publisher's Note
The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of EWA Publishing and/or the editor(s). EWA Publishing and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
About volume
Journal:Advances in Engineering Innovation
© 2024 by the author(s). Licensee EWA Publishing, Oxford, UK. This article is an open access article distributed under the terms and
conditions of the Creative Commons Attribution (CC BY) license. Authors who
publish this series agree to the following terms:
1. Authors retain copyright and grant the series right of first publication with the work simultaneously licensed under a Creative Commons
Attribution License that allows others to share the work with an acknowledgment of the work's authorship and initial publication in this
series.
2. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the series's published
version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgment of its initial
publication in this series.
3. Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and
during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See
Open access policy for details).
References
[1]. Babalola, A. D., Akingbade, K. F., & Ubochi, B. C. (2022). The performance of the STM32 microcontroller and MAX30102 for remote health monitoring device design.Journal of Digital Innovations & Contemporary Research in Science, Engineering & Technology,10(1), 51–68. https: //dx.doi.org/10.22624/AIMS/DIGITAL/V10N1P4
[2]. Valsalan, P., Baomar, T. A. B., & Baabood, A. H. O. (2020). IoT based health monitoring system.Journal of Critical Reviews, 7(4), 739-743.
[3]. Raj, K. M., Kumar, K., Agrawal, M., & Kadam, P. D. (2023). IoT-based patient health monitoring using ESP8266 module & Arduino.International Journal of Scientific Research in Engineering and Management,7(7), 1–6.
[4]. Alsayaydeh, J. A. J., Yusof, M. F. B., Abdul Halim, M. Z. B., Zainudin, M. N. S., & Herawan, S. G. (2023). Patient health monitoring system development using ESP8266 and Arduino with IoT platform.International Journal of Advanced Computer Science and Applications,14(4), 513–521. https: //doi.org/10.14569/IJACSA.2023.0140467
[5]. Analog Devices. (2018). MAX30102 high-sensitivity pulse oximeter and heart-rate sensor for wearable health. Retrieved from https: //www.analog.com/media/en/technical-documentation/data-sheets/max30102.pdf
[6]. Alqaraawi, A., Alwosheel, A., & Alasaad, A. (2016). Heart rate variability estimation in photoplethysmography signals using Bayesian learning approach.Healthcare Technology Letters, 3(2), 136–142. https: //doi.org/10.1049/htl.2016.0006
[7]. Valenti, S., Volpes, G., Parisi, A., Buscemi, A., Cino, A., Meli, F., & D'Acquisto, L. (2023). Wearable multisensor ring-shaped probe for assessing stress and blood oxygenation: Design and preliminary measurements.Biosensors, 13(4), 460. https: //doi.org/10.3390/bios13040460