Design of a Node-MCU based Web-Server for Heart rate and SpO2 Monitoring

DOI : 10.17577/IJERTV12IS010038

Download Full-Text PDF Cite this Publication

Text Only Version

Design of a Node-MCU based Web-Server for Heart rate and SpO2 Monitoring

  1. K. Parate

    Department of Electronics

  2. K. Porwal College Kamptee, India-441001

K. M. Dhole

Department of Computer Science

S. K. Porwal College Kamptee, India-441001

S. J. Sharma

Department of Electronics and Computer Science

R. T. M. Nagpur University Nagpur, India-440033

Abstract This paper deals with development of Node-MCU based web server for heart rate and SpO2 monitoring using Node-MCU ESP-32. Web server is designed using Node-MCU and pulse oximetry sensor along with some passive components. Data acquisition is done by placing finger of a subject over sensor module. Code has been developed for processing sensor data and searching IP address of NodeMCU board. Serial communication between Node MCU ESP-32 and Laptop/PC is achieved using UART bus. Web server is accessed by entering IP address in web browser. Result showcasted that web server worked reliably, and according to the pulse oximeter function. The designed system provides advantages of low cost, low complexity and low power consumption. It can be upgraded to monitor other biomedical parameters, environmental parameters and industrial parameters.

KeywordsNode-MCU, Web server, web browser, pulse oximeter


    Continuous monitoring of heart rate and oxygen saturation level (SpO2) is at top priority to manage emergency in medical field [1]. These parameters plays major role to prevent silent hypoxia. It results in lowering oxygen level without any side effects, causing tissue harm in the body and leads to respiratory system failure or unexpected death [2]. The monitoring of heart rate and SpO2 is done in clinical environment by using pulse oximeter. These parameters monitored by physician or devoted clinical staff at specific time. Such a method is not suitable for large-scale measurements, as the patient may miss the best time of treatment. Hence, it is necessary to realize that real time monitoring of patients without the need for frequent contact measurements [3]. Traditional method of monitoring these parameters is complicated and tedious job. Monitoring of heart rate and SpO2 using web server is simple, cost effective and low power consumption method.

    Web server is a computer that host website on the internet. It consist of an operating system, web pages, and large amount of memory that stores, process and deliver web pages to web clients [4]. Web pages are the documents that can be displayed in the web browser such as Google chrome, Opera, Firefox, Microsoft Internet Explorer etc. It can be constructed using software or hardware or combination of both. It connects to the internet and provides exchange of

    information with other devices connected to the network [5]. Web server used for providing client's solicitations to variable kinds of data as reports and applications that held on the server side and accessed by the clients using an internet browsers [6]. Moreover, HTML (hypertext markup language) is a convention that moves solicitation and responses between clients and web servers. At the moment when a client requests a file, an HTTP solicitation will transmit to the server for that file and the server investigates inside its data set and answer the solicitation either in the event that exist or not [7]. HTML system provides an advantage for real time monitoring of parameters [8]. Today, people are interested in embedded web server which is useful development of an IoT applications. It is the combination of implanted gadget and web innovation, which gives adaptable devices for remote monitoring and management function based on web program. Now, it has become high level improvement pattern of embedded technology [9].

    In the present work, a low cost web server has been designed for heart rate and oxygen saturation (SpO2) monitoring. MAX 30100 sensor module is used for sensing both parameters and is interfaced with Node-MCU ESP-32. Node-MCU is used for processing sensor data and running web server code via Wi-Fi to detect IP address of ESP-32. A user can type the IP address of Node MCU in any browser of laptop/PC or mobile to access web page. Web page displayed all the access parameters.


    U.A. Contardi et al [1] reported continuous gathering of heart rate and SpO2 having IoT capabilities using MAX 30102 module and ESP- 32. I. Allafi and T. Iqbal [4] developed web server to collect photovoltaic parameters and electrical parameters of battery. They designed system using low cost sensors, SD card and Node MCU ESP-32. N. P. Aung et al [5] designed web server for monitoring of solar parameters using arduino board. P. Nithurkar and V. D. Shinde [8] developed embedded web server and data acquisition system using Linux. P. Macheso et al [10] developed web server for temperature and humidity monitoring using DHT 22 sensor and Node-MCU ESP-32 board. They also analyzed power consumption of the device in this work. S. Bagha and L. Shaw [11] developed small size

    device for continuous monitoring of SpO2 and heart rate. They perform signal processing using LabView and suggested that better signal processing technique can enhance the future of pulse oximeter. R. Vinodhini and R. Puviarasi [12] implemented heart rate monitoring system and stored data on server for further uses. V. Dave [13] discussed different types of servers and services provided by it. S. Deivasigamani et al [14] developed smart pulse oximeter based on solar power useful for remote monitoring. They used MAX 30102 sensor and ATMEGA 328 microcontroller for implementation of this work. I Putu Andika et al [15] developed portable pulse oximeter using MAX 30102 sensor and Atmega 2560-16 AU microcontroller. They tested device on 10 subjects and reported error value of 82% for SpO2 and 84% for heart rate. P. Foltynek et al [16] describes the use of IoTs devices along with ESP32 Node-MCU for dual core applications of data processing and wireless transmission. N. Prince et al [17] designed a portable device for recording student attendance in a classroom using R-305 finger print module, esp8266 wifi module and arduino board. They analyzed real time attendance using dedicated web server.


    Proposed system has been developed using hardware and software. Hardware includes interfacing of respective sensor with Node MCU and acquisition of sensor data from subject under rest. Software includes code development for processing of sensor information and searching of IP address of Node-MCU. Figure 1 shows the functional block diagram of developed system.

    Figure 1: Block Diagram of the System

    MAX 30100 pulse oximeter sensor used for sensing heart rate and oxygen saturation (SpO2), Processing module include Node MCU ESP-32. It is an advanced version arduino board possesses extra features like integrated TCP/IP protocol stack and 802.11 b/g/n WiFi support suitable for implementation of proposed system [18]. Pulse oximeter sensor is interfaced with Node MCU ESP-32 microcontroller unit. End device (PC/Laptop or smart phone) is the last destination of the developed system. It is also called as web page where it is possible to display heart rate and oxygen saturation (SpO2).

    1. Hardware Implementation

      This includes making sensor ready for use and its interfacing with Node MCU. In the present work, we have

      used low cost MAX 30100 board as compared to GY- MAX30100. This board cannot be interfaced directly with Node MCU. MAX 30100 IC needs 1.8V for VDD and this module uses two regulators to achieve this votage. The SCL and SDA pin of MAX30100 are pulled via 4.7K resistors to 1.8V. So, it will not work with microcontroller having higher logic levels. Therefore, MAX 30100 is modified for interfacing with Node MCU by removing three 4.7 K resistors from the breakout boards. Three 4.7 K resistors are connected externally between SCL, SDA, INT with respect to 3.3V). Node MCU has 30 GPIO pins. MAX 30100 provides feature of I2C interfacing having SCL and SDL. These SCL and SDA pin are connected to GPIO 22 and GPIO 21 pins of Node MCU via pull up resistors [19]. Node MCU ESP 32 needs voltage of 3.3V and current of 150mA, thus total power requirement is 495 mW. Similarly, MAX 30100 needs voltage of 1.8 V and current of 10mA, thus total power requirement is 18 mW. Figure 2 shows the circuit diagram of designed system.

      Figure 2: Circuit Diagram of Designed System

    2. Software Implementation

    The software performs job of sensor data acquisition, processing of data using Node MCU, Wi-Fi connectivity, searching IP address of Node- MCU and display output on web page. Arduino integrated development environment (IDE) is used to write code and upload it to the ESP-32 microcontroller unit. An appropriate library for the MAX 30100 sensor has been downloaded from online sources. After installing the libraries and making circuit connection, source code is deployed into Node-MCU through standard USB port by selecting proper COM port. Program is written in arduino IDE for getting IP address of Node MCU. This IP address has been written in web browser to observe heart rate and SpO2 on web page. Figure 3 shows the flowchart of the operation of the developed prototype.

    Figure 3: Flowchart of System


    1. Protype of dessigned system

      The desired system has been successfully designed by interfacing MAX 30100 to Node MCU ESP 32. Figure 4 shows the hardware implementation of developed prototype.

      Figure 4: Prototype of Designed System

    2. Output obtained on serial monitor

      Figure 5 shows the data obtained on serial monitor of arduino IDE by placing finger of subject under test over sensor module.

      Figure 5: Data obtained on Serial Monitor of Arduino IDE

    3. Status of Wifi device

      Figure 6 shows the serial monitor of arduino IDE that represents the status of wifi device and also display the IP address of connected Node MCU.

      Figure 6: Status of Wifi Device and its IP Address on Serial Monitor

    4. Data monitor on Web server

    IP address obtained from serial monitor of arduino IDE is and is written on web browser. Figure 7 shows the two different web clients (Laptop and smart phone) accessing web pages of web server by entering IP address of Node MCU on web browser.

    Figure 7: Data Obtained on Web Page of Web server


The designed system focused on development of standalone web-server for heart rate and SpO2 monitoring using Node- MCU ESP-32 and MAX 30100 sensor module. Node MCU worked in dual mode i.e. sensor mode and standalone web server. In sensor mode, sensor module is interfaced with its GPIO pins whereas in web server mode, web clients could access sensor data using IP address. This web server provides advantages of eliminating need of refreshing web page. This work shows that, web server has low power consumption and could be implemented with less number of hardware components.


[1] U. A. Contardi, M. Morikawa, B. Brunelli and D. V. Thomaz, MAX 30102 Photometric Biosensor Coupled to ESP32- Webserver Capabilities for Continuous Point of Care Oxygen Saturation and Heartrate Monitoring , Engg. Proceedings MDPI, 16(9), (2022)

[2] R. Suhartina and T. Abuzairi, Pulse Oximeter Monitoring Bracelet for COVID-19 Patient Using Seeeduino, J. Ilmiah Teknik Elektro Kompute Dan Informatika, 7(1), 81-87, (2021)

[3] R. K. Parate, K. M. Dhole and S. J. Sharma, Design of Low Cost Biomedical Signal Acquistion System using Node-MCU, Int. J. Analytical and Experimental Modal Analy.,14(8), 379-384, (2022)

[4] I. Allafi and T. Iqbal, Design and Implementation of a Low Cost Web Server using ESP 32 for Real-Time Photovoltaic System Monitoring , 2017 IEEE Electrical Power and Energy Conference (EPEC), (2017)

[5] N. P. Aung, M. Wai, L. Htay anf K. San, Web Server based Solar Parameters Monitoring using Arduino, Int. J. Trends in scientific Res. & Dev., 3(5), 296-301, (2019)

[6] O. H. Jader, S. Zeebaree and R. R. Zebari, A State of Art Survey for Web Server Performance Measurement and Load Balancing Mechanisms, Int. J. Scientific Tech. Res., 8(12), 535-543, (2019)

[7] K. Jacksi and S. Abass, Development History Of The World Wide Web, Int. J. Scientific & Technology Res., 8(9), 75-79, (2019)

[8] P. Niturkar and V. D. Shinde, Design and Implementation of Embedded Web Server and DACS with ARM9 using Linux, Int. J. Scientific & Res. Publications, 5(11), 603-606, (2015)

[9] P. Soumya and M. Roopa, Data Acquisition and Control System using Embedded Web Server, Int. J. Engg. Trends & Tech., 3(3), 411-414, (2012)

[10] P. Macheso, S. Chisale, C. Daka, N. Dzupire, J. Mlatho and D. Mukanyirigira, Design of a StandaloneAsynchronous ESP32 Web- Server for Temperature and Humidity Monitoring,

[11] S. Bagha and L. Shaw, A Real Time Analysis of PPG Signal for Measurement of SpO2 and Pulse Rate, Int. J. Comp. Appl., 36(11), 45-50, (2011)

[12] R. Vonodhini and R. Puviarasi, Heart Rate Monitoring System using Pulse Sensor with Data Stored on Server , Int. J. Engg. Adv. Tech., 8(6), 2374-2377, (2019)

[13] V. Dave, A Review Paper on Server, Int. J. Engg. Res. Tech., 5(23), 1-3, (2017)

[14] S. Deivasigamani, G. Narmada, M. Ramasamy, H. Prasad and P. Nair, Design of Smart Pulse Oximeter using ATMEGA 328 Microcontroller, Int. J. Emerging Tech.,11(3), 696-700, (2020)

[15] I Putu Andika, T. Rahmawati and M. Ridha Makruf, Portable Pulse Oximeter, Indonesian J. Electro. Electri. & Med. Informatics, 1(1), 28-32, (2019)

[16] P. Foltynek, M. Babiuch and P. Suranek, Measurement and Data Processing from Internet of Things Modules by Dual-Core Applications using ESP32 board, Measurement and Control, 52(7-8), 970-984, (2019)

[17] N. Prince, A. Sengupta and K. Unni, Implementation of IoT based Attendance System on a Dedicated Web-Server, Int. J. Scientific & Engg. Res., 7(6), 351-355, (2016)

[18] R. K. Parate and S. J. Sharma, Design of Low Cost Biomedical Signal Monitoring System based on Wireless Sensor Network, Int. J. Analytical and Experimental Modal Analy.,13(5), 1312-1317, (2021)

[19] R. K. Parate and S. J. Sharma, Design of Client Server based Body Signal Monitoring System, Int. J. Engg. ,Res and & Appl.,10(7), 46- 49, (2020)


[21] Maxim Integrated , MAX 30100 datasheets , [Online] available on

[22] esp32_datasheet_en.pdf