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.
