Journal

Context-Aware Wearable Fall Detection: MPU6050 + ESP32 with False Positive Suppression for Elderly

Wearable Fall Detection ที่ฉลาด: MPU6050 + ESP32 พร้อม Context-Aware False Positive Suppression

May 12, 2026 · 1 min read
Context-Aware Wearable Fall Detection: MPU6050 + ESP32 with False Positive Suppression for Elderly

Context-Aware Fall Detection: Reducing False Alerts Without Reducing Sensitivity

The primary problem with low-cost fall detection hardware is excessive false positives — alerting on normal elderly activity like rapid sit-to-stand or bending to pick objects, causing alert fatigue in caregivers. Context-aware fall detection analyzes the pre-event, during-event, and post-event context to distinguish genuine falls.

Hardware: MPU6050 + ESP32-C3

MPU6050 6-DOF IMU (80–120 THB): ±16g accelerometer, ±2000°/s gyroscope, I2C interface, sampled at 100 Hz. Mounted on ESP32-C3 mini (150 THB) in a compact case worn on belt or as a pendant.

Fall Signature and SVM Detection

Falls have a three-phase signature: low-variance pre-fall activity → impact spike >3g within 100–200ms → prolonged post-fall stillness. An SVM classifier trained on 5 features extracted from 500ms sliding windows (peak magnitude, variance, mean vertical acceleration, dynamic range, fraction of time above threshold) runs on-device via the EloquentML library.

Context-Aware False Positive Suppression

Pre-event activity: rhythmic movement in the prior 2 seconds (walking, exercise) reduces the alert threshold, as rapid transitions are common in physical activity.

Post-event duration: genuine falls are followed by >5 seconds of stillness. Quick recovery (movement within 5 seconds of impact) cancels the alert — the most impactful suppression rule, cutting false positives by ~60%.

Room context from Home Assistant: bathroom occupancy raises sensitivity (bathroom falls are common and dangerous); exercise room occupancy reduces sensitivity.

Time-of-day context: falls between 02:00–05:00 (nighttime bathroom trips) receive highest priority escalation.

Results

In 50 simulated fall tests, sensitivity was 94.2%. Without context suppression, false positive rate was 18.3% on normal elderly activities. With context suppression, false positive rate dropped to 3.1% — an 83% reduction while maintaining 94.2% sensitivity.

Battery and Wearability

ESP32-C3 with MPU6050 at 100Hz sampling draws ~35mA, yielding 18–24 hours from a 500mAh LiPo — sufficient for daily charging on the bedside charger, the same rhythm as a smartphone.

Questions & answers

Will elderly users actually wear this device?
Device acceptance depends heavily on form factor. Keep the enclosure lightweight and attractive — pendant or belt-clip style no larger than a USB thumb drive. Involve the elderly user in choosing the design to improve compliance.
Does the model need retraining for each person?
Fine-tuning is recommended: collect 100–200 samples of the wearer’s normal movement patterns during the first week to calibrate thresholds to their individual gait and activity profile.
What happens if the battery dies during the day?
The ESP32 sends an MQTT heartbeat every 5 minutes. Home Assistant alerts caregivers if the heartbeat disappears for >10 minutes, indicating device off or dead battery. Nightly charging alongside the user’s phone is sufficient.

Related reading