🛌 Comatose Patient Vital Alert System
Critical patient vital signs tracker featuring heart rate, skin temp, and fall/seizure alert SMS metrics.
Overview
Unconscious patient care demands continuous vigil. This biomedical project designs an IoT patient-critical monitor combining skin-temperature, PPG pulse oximetry, and a 3-axis accelerometer. It detects abnormal vital spikes or sudden falls/seizures, sending instant cellular SMS warnings.
What you'll learn: Signal processing for biomedical noise, 3-axis accelerometer threshold logic for seizure/fall mapping, GSM emergency handshake triggers, and battery-backed failsafe design.
Estimated time: 8-10 hours. Difficulty: ⭐⭐⭐⭐⭐ Expert.
Components Needed
| Component | Specification | Qty | Notes |
|---|---|---|---|
| ESP32 Development Board | Fast processing, low sleep | 1 | Core medical parser |
| SIM800L GSM Module | Cellular SMS transceiver | 1 | Transmits instant emergency warnings |
| MAX30102 Biosensor | I2C Interface | 1 | Pulse, SpO2 |
| ADXL345 Accelerometer | I2C Interface, 3-axis | 1 | Detects patient falls or seizure shakes |
| DS18B20 Temp Probe | One-Wire Protocol | 1 | Skin temperature monitoring |
Step-by-Step Tutorial
1
I2C Biosensors Interface
Wire both the MAX30102 and the ADXL345 to the ESP32 I2C pins. Supply 3.3V power, and verify distinct I2C bus addresses.
2
Configure cellular GSM
Connect SIM800L to ESP32 HardwareSerial2 (GPIO 16/17). Use a high-current external step-down converter to supply 4.0V.
3
Program Fall and Seizure Logic
Write a vector calculation routine that computes
totalAccel = sqrt(x^2 + y^2 + z^2). Detect patient falls (rapid drop below 0.3g followed by spike) and seizures (continuous high-frequency shaking).4
Integrate Vitals Failsafe
Configure safe physiological ranges: temperature (35°C-39°C) and heart rate (50-130 BPM). Trigger buzzer and SMS warnings if thresholds are breached.
5
Compile and Deploy
Bake a compact wearable sleeve containing biosensors, the battery charging circuit, and cellular indicators for clinical testing.
Ensure your seizure algorithm uses a rolling 5-second window frequency filter. A patient briefly adjusting their posture should not trigger false positive cellular alerts.
Code / Configuration
comatose_monitor.ino
INO
// Comatose Patient Emergency Monitor - Volt X
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
#include "MAX30105.h"
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
MAX30105 particleSensor;
HardwareSerial gsmSerial(2); // ESP32 UART2
const int buzzerPin = 25;
const String doctorPhone = "+1234567890";
void setup() {
Serial.begin(115200);
gsmSerial.begin(9600, SERIAL_8N1, 16, 17); // RX=16, TX=17
if (!accel.begin()) Serial.println("ADXL345 not found!");
if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) Serial.println("MAX30102 not found!");
particleSensor.setup();
pinMode(buzzerPin, OUTPUT);
}
Reviews & Ratings
—0 reviews
Sign in to leave a review
Loading reviews...