The problem
Older adults who live alone face a quiet, serious risk: a fall that leaves them unable to call for help, with assistance arriving hours later. Commercial fall-detection pendants exist but are expensive and often tied to paid subscription services, putting them out of reach for many families. This project builds an affordable wearable that watches the wearer's motion with an accelerometer-gyroscope sensor, decides on the spot whether a fall has likely happened, and — unless the wearer cancels the alarm — sends SMS alerts directly to family members' phones through a GSM module, with no subscription service involved. It is also a strong teaching build: the student works with real IMU signal processing (acceleration magnitude, orientation change, inactivity windows), embedded firmware on the ESP32, AT-command control of a GSM module, and the practical design of a small wearable device. The detection logic is threshold-based and tuned on a bench prototype, so the honest engineering trade-offs — sensitivity versus false alarms — are part of the learning, not hidden.
Wears the waist device; a fall triggers the detection and alert sequence.
Follow the working sequence
How it works
- The device is worn at the waist and powered on; the MPU6050 measures acceleration and angular rate while the ESP32 sleeps between motion interrupts to save power.
- A motion interrupt wakes the ESP32, which reads the sensor stream and computes the acceleration magnitude along with the device's orientation from the gyroscope.
- The firmware applies the three-stage fall signature: an impact spike above the configured threshold, followed by a rapid orientation change, followed by roughly 10 seconds of stillness indicating the wearer may not have got up.
- If the signature matches, the piezo buzzer sounds and the approximately 30-second cancel window starts (duration adjustable in code).
- If the wearer presses the cancel button within the window, the event is discarded and the device returns to low-power monitoring with no message sent.
- If nobody cancels, the ESP32 wakes the SIM800L, registers on the GSM network, and sends the alert SMS to each stored emergency contact in turn.
- The event is logged with a timestamp over the USB serial port; the device then returns to low-power monitoring until the next motion event.
Tech stack:
- ESP32 (DevKit-style board)
- MPU6050 6-axis IMU
- SIM800L GSM module
- Arduino IDE · C/C++ firmware
- AT-command SMS handling
- Piezo buzzer · push-button cancel
- Li-Po battery · micro-USB charging
| Parameter | Value |
|---|---|
| Controller | ESP32 dual-core 32-bit (datasheet: up to 240 MHz) |
| Motion sensor | MPU6050 3-axis accelerometer + 3-axis gyroscope (datasheet ranges) |
| GSM module | SIM800L, 2G GSM/GPRS 850/900/1800/1900 MHz (datasheet) |
| Emergency contacts | Up to 3 phone numbers (configurable in code) |
| Cancel window | Approximately 30 seconds default (configurable) |
| Stillness check window | Approximately 10 seconds (configurable) |
| Detection method | Impact threshold + orientation change + post-fall inactivity (design target) |
| Alert latency | Buzzer + SMS within approximately 60 seconds of a confirmed fall (expected) |
| Power | Rechargeable Li-Po with micro-USB charging (capacity component-dependent) |
| Battery runtime | Approximately 1–2 days of typical wear (expected, use-dependent) |
| Enclosure | Approximately 9 × 6 × 3 cm fabric pouch on elastic waist strap (approximate) |
| Device weight | Approximately 120–150 g with battery (approximate) |
Project features
- [Three-stage fall check] The ESP32 samples the MPU6050 accelerometer and gyroscope continuously and flags a fall only when three conditions occur in sequence: a sharp acceleration spike, a sudden change in body orientation, and a short window of stillness afterwards. This sequencing filters out ordinary jerks and bumps.
- [SMS alerts via SIM800L] On a confirmed, uncancelled fall, the SIM800L GSM module sends an SMS to each stored emergency contact (up to 3 numbers, configurable in the code), carrying a "Fall detected" message and a configurable location note such as the wearer's home address.
- [Cancel window with local buzzer] The device sounds the piezo buzzer and gives the wearer approximately 30 seconds to press the cancel button before any SMS is sent, which is how the occasional false positive from sitting down quickly or dropping the device is handled.
- [Stored contact list] Emergency numbers are stored in the firmware configuration and can be changed with a simple edit and re-upload; no external app or subscription is required.
- [Low-power firmware design] The ESP32 is placed in deep sleep between motion events, waking on the MPU6050's motion interrupt, and the SIM800L is kept in sleep mode except when sending alerts — a design intended to stretch battery life over days of wear.
- [Waist-strap wearable enclosure] The electronics sit inside a fabric pouch mounted on an elastic waist strap at the hip, where falls produce the clearest motion signature; the strap fits typical adult waist sizes and the pouch recharges over micro-USB.
- [Event logging over serial] Each detected fall and cancel event is printed with a timestamp to the USB serial port, so the student can verify behaviour and tune thresholds during the demo and the viva.
What is included
- Working prototype: waist-strap fall-detection device in fabric pouch enclosure
- Complete ESP32 firmware source code (Arduino IDE)
- Circuit and wiring documentation with connection table
- Component list with exact part numbers and sourcing guidance
- Setup, wearing and threshold-tuning instructions
- Project abstract PDF
- Project report PDF (background, methodology, limitations, results of bench tests)
- PPT presentation for final review
- Viva Q&A preparation document (IMU concepts, firmware logic, GSM/AT commands, false-positive handling)
Limitations & prerequisites
- Threshold-based detection can produce false positives — sitting down hard, stumbling without falling, or dropping the device can trigger an alert. The cancel window mitigates this but does not eliminate it.
- No measured detection-accuracy figure is claimed; the stated latency and behaviour are design targets from bench testing, not certified test results.
- This is an academic monitoring prototype, not certified medical equipment — it must not replace professional supervision or medical alert services, and no clinical claim is made.
- The SIM800L needs 2G GSM network coverage; in areas where carriers have switched off 2G, the module cannot send SMS (a 4G LTE module swap is available as a customization).
- SMS delivery depends on network signal — alerts can be delayed or fail in poor-coverage areas.
- Battery runtime is use-dependent (approximately 1–2 days expected); frequent wake-ups or weak GSM signal drain the battery faster.
- GPS location is NOT part of the base build; the SMS carries a configurable address note. Live GPS coordinates are an optional add-on.
- The prototype is not waterproof or shock-certified; daily-wear durability is a design target, not a tested claim.
Frequently Asked Questions
Which controller and sensors does this project use?
An ESP32 DevKit board as the controller, an MPU6050 6-axis IMU (accelerometer + gyroscope) as the motion sensor, and a SIM800L GSM module for sending SMS alerts. A piezo buzzer and a cancel push-button complete the user-facing hardware.
How does the fall detection actually work?
The firmware looks for a three-stage signature: a sharp acceleration spike, a sudden orientation change, then roughly 10 seconds of stillness. This is a threshold-based prototype algorithm — it can still false-trigger on hard sitting or drops, which is why the buzzer cancel window exists before any SMS goes out.
Does the device need internet or Wi-Fi?
No. Everything runs on the device itself and alerts go out as plain SMS over the 2G GSM network, so a SIM card with SMS balance is all that is needed. Note the module requires 2G coverage in the area of use.
Can GPS location be added to the alert SMS?
Yes, as a customization: a NEO-6M GPS module can be added so the SMS carries live latitude/longitude. In the base build the message carries a configurable address note instead.
What power supply does it use?
A rechargeable Li-Po battery charged over micro-USB, expected to last approximately 1–2 days of typical wear depending on usage and network conditions.
Is this project suitable for a final-year project?
Yes — for Electronics & Telecommunication, IoT & Embedded and Electrical programs. It demonstrates IMU signal processing, embedded firmware design, GSM communication via AT commands, and wearable hardware packaging, with honest, discussable engineering trade-offs.
Components & software requirements
- ESP32 (DevKit-style board)
- MPU6050 6-axis IMU
- SIM800L GSM module
- Arduino IDE · C/C++ firmware
- AT-command SMS handling
- Piezo buzzer · push-button cancel
- Li-Po battery · micro-USB charging
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and email — the synopsis PDF downloads immediately. We may send occasional project updates; no spam, unsubscribe anytime.