This project is the arduino source code and schematic of an “ECG Monitor” With “ESP8266” WiFi Module and “MAX30100” pulse oximetry and heart-rate module
Price:
Other projects from this group
WiFi ECG Monitor calculate and shows the blood’s oxygen saturation and the heartbeat-rate with the diagram.
“ESP8266” is a programmable WiFi module which is the main processor of the project and communicates with the oximeter module via I2C and the user interface via WiFi.
“MAX30100 Pulse Oximeter” is a module with two RED and Infrared LEDs and reads the reflection value of the LED’s from top of the finger.
The output data form MAX30100 is so many samples in a second which contains LEDs reflection ADC value.
First open one of the files with Arduino program, then set the board on “Generic ESP8266 Module” (Tools-%26gt;board).
Then put the ESP8266 module on the “download mode” and upload the program.
After upload, run the program in “normal mode”.
Then in case you are using ESP12, the blue LED on the board would be turned on for 1 second then turns off. Then you’ll be able to see the module’s hot spot ssid via the WiFi networks in your PC or smart phone.
The default SSID is WiCardECG and the default password is 12345678. Connect and go to "192.168.4.1" with a web browser.
The MAX30100 is an integrated pulse oximetry and heart-rate monitor sensor solution. It combines two LEDs, a photo-detector, optimized optics, and low-noise analog signal processing to detect pulse oximetry and heart-rate signals.
The MAX30100 communicates with ESP32 via two wire (I2C) interface.
In this project, GPIO4 works as the I2C SDA and the GPIO 5 works as the I2C SCL. Use the following schematic for the connections:
The schematic is simple, either you can place both of the ESP and MAX30100 module (e.g. including two 1.5V battery) in an enclosure or in two different enclosures and connect the MAX30100 to the ESP via a 4-wires cable.
The “Chain Network” is a local network which the devices one by one are connected to the each other (Series). In the chain network, the first device is the master of network. The starter (either the master or the last joined module) is directly connected to the WebApp. It sends the command to the next device, and the next device sends it to the next one till the last device. The last device response will be sent to the first device and finally the WebApp via the middle devices.
The graphs update in every 6 seconds. That means the graphs show the values which has been captured 6 seconds ago.
The green value (HR) is the average heart-rate value of the last 6 seconds in “Beats Per Minute” (BPM) unit.
The purple value (BP) is the blood pressure “Systolic” (SYS) and Diastolic (DIA) values in the mmHg unit.
The blue value (SPO2) is the percent of saturated oxygen in the blood.
The yellow value (Temp) is the temperature of sensor (which should be equal with the finger’s top temperature) in the Celsius unit.
There are 2 toggle buttons under the monitor screen:
And 2 push buttons:
This web application is also compatible with cell phone and mobile device browsers
The Web Application is divided to 3 menus. The menus can be selected by click on the menu button
“ECG” refers to the WiFi ECG monitor page, “HR-SPO2” refers to the Network Pulse Oximeter and heart-rate page and “Settings” refers to the settings page.
In the “HR-SPO2” page, there are 16 channel rows of the volt meters result. That means you can add up to 16 devices to the chain network and see the values at the same time.
In the above picture, only three devices (CH0, CH1 and CH2) are connected to the network.
The “HR-SPO2 Network Channel” can be set in the settings menu.
The web application’s settings menu has been divided to 5 parts:
Click on the tools in Arduino and Open the “serial monitor” when the module is connected to the USB (or via USB2Serial). If you receive I2C error, that means the wiring/connection is not correct.
If you received “e2” error, that means finger is not on the MAX30100 sensor.
It is normal to receive “e3” rarely, but if the error is too much, that mean the finger is not completely on the sensor or the module is receiving peripheral lights.
1.1
- The Web Ui upgraded
- The heart-rate diagram upgraded
- blood pressure diagram and calculations added
- 4 Buttons and features added
- Network pulse oximeter added
1.0
- Calculating SPO2
- Calculating Heartbeat-Rate
-Designing the ECG page
-Printing the diagrams