Introduction
A Smart Health Monitoring System is an IoT-based healthcare solution that continuously monitors vital health parameters such as body temperature, heart rate, and blood oxygen level (SpO₂). The collected data is transmitted to a cloud platform where doctors or caregivers can monitor a patient’s health remotely.
This system plays a crucial role in telemedicine, elderly care, and remote patient monitoring, reducing the need for frequent hospital visits.
Objective of the Project
- To monitor vital health parameters in real time
- To send patient health data to cloud dashboards
- To provide early alerts in case of abnormal readings
- To enable remote healthcare monitoring using IoT
Working Principle
The system uses biomedical sensors to measure health parameters and sends the data to a cloud server using an IoT-enabled microcontroller.
Step-by-Step Working
- Heart rate & SpO₂ sensor (MAX30100 / MAX30102) measures pulse rate and oxygen level
- Temperature sensor (LM35 / DS18B20) measures body temperature
- ESP32 / ESP8266 reads sensor data
- Data is transmitted via Wi-Fi to an IoT platform
- Alerts are generated if values exceed safe limits
Components Required
- ESP32 / ESP8266
- MAX30100 / MAX30102 Pulse & SpO₂ Sensor
- LM35 / DS18B20 Temperature Sensor
- OLED Display (optional)
- Buzzer (alert system)
- Jumper Wires
- Breadboard / PCB
- IoT Platform (Blynk / ThingSpeak / Firebase)
Block Diagram
Health Sensors
(Heart Rate, SpO₂, Temperature)
↓
ESP32
↓
Wi-Fi Communication
↓
IoT Cloud Platform
↓
Mobile App / Dashboard
Circuit Connections
MAX30102 (I2C)
VIN → 3.3V
GND → GND
SCL → GPIO22
SDA → GPIO21
LM35 Temperature Sensor
VCC → 5V
GND → GND
OUT → GPIO34
Buzzer
+ → GPIO26
- → GND
Arduino Code (ESP32 – Health Monitoring)
#include <Wire.h>
#include "MAX30105.h"
#include <WiFi.h>
#include "ThingSpeak.h"
MAX30105 particleSensor;
#define TEMP_PIN 34
#define BUZZER_PIN 26
const char* ssid = "Your_WiFi";
const char* password = "Your_Password";
WiFiClient client;
unsigned long channelID = 123456;
const char* writeAPIKey = "YOUR_API_KEY";
void setup() {
Serial.begin(9600);
pinMode(BUZZER_PIN, OUTPUT);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
ThingSpeak.begin(client);
if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) {
Serial.println("MAX30102 not found");
while (1);
}
particleSensor.setup();
}
void loop() {
int rawTemp = analogRead(TEMP_PIN);
float temperature = (rawTemp * 3.3 / 4095) * 100;
long irValue = particleSensor.getIR();
Serial.print("Temperature: ");
Serial.println(temperature);
Serial.print("Pulse IR: ");
Serial.println(irValue);
if (temperature > 38) {
digitalWrite(BUZZER_PIN, HIGH);
} else {
digitalWrite(BUZZER_PIN, LOW);
}
ThingSpeak.setField(1, temperature);
ThingSpeak.setField(2, irValue);
ThingSpeak.writeFields(channelID, writeAPIKey);
delay(20000);
}
Code Explanation
- MAX30102 measures pulse and oxygen level
- LM35 measures body temperature
- ESP32 sends data to ThingSpeak IoT platform
- Buzzer activates if temperature exceeds safe limits
Advantages
- Continuous real-time health monitoring
- Reduces need for hospital visits
- Early detection of health issues
- Low-cost and scalable healthcare solution
Applications
- Remote patient monitoring
- Elderly care systems
- Hospital health tracking
- Fitness and wellness monitoring
Future Enhancements
- Add ECG and blood pressure sensors
- Integrate AI for disease prediction
- Mobile app alerts and notifications
- Secure cloud-based health records
Conclusion
The Smart Health Monitoring System is a powerful IoT project that enhances healthcare by enabling real-time, remote monitoring of vital parameters. It improves patient safety, reduces healthcare costs, and supports modern telemedicine solutions.
