This project is an IoT-based Human Fall Detection System designed to detect potential falls using an MPU6050 accelerometer and gyroscope sensor. The system continuously monitors body movement and acceleration patterns to identify abnormal motion associated with falls.
When a potential fall is detected, an alarm buzzer is activated, giving the user a 7-second window to cancel the alert using a push button. If no response is received, the event is classified as a confirmed fall and a notification is transmitted to AWS IoT through an ESP32 module.
The project demonstrates embedded systems development, sensor interfacing, serial communication, IoT connectivity, and cloud integration.
- Real-time motion monitoring using MPU6050
- Fall detection based on acceleration magnitude analysis
- 7-second user confirmation period
- Audible buzzer alert for warning notification
- Manual cancellation button to prevent false alarms
- Arduino-to-ESP32 serial communication
- Secure MQTT communication using AWS IoT Core
- Cloud-based fall event reporting
- Automatic system reset after event completion
MPU6050 Sensor
│
▼
Arduino Uno
(Fall Detection Logic)
│
│ Serial Communication
▼
ESP32
(WiFi + MQTT Client)
│
▼
AWS IoT Core
│
▼
Cloud Notification/Event Logging
Arduino Uno ESP32 Development Board MPU6050 Accelerometer & Gyroscope Active Buzzer Push Button Connecting Wires As Required Breadboard
- Arduino IDE
- ESP32 Board Package
- AWS IoT Core
- MQTT Protocol
- Wokwi Simulator
- EasyEDA
- C++
- Embedded Systems Programming
The MPU6050 continuously measures acceleration along the X, Y, and Z axes.
The Arduino calculates the resultant acceleration magnitude using:
The algorithm monitors sudden changes in acceleration:
- Initial drop below a predefined threshold
- Followed by a rapid increase in acceleration
This pattern indicates a possible fall event.
When a potential fall is detected:
- Buzzer is activated
- 7-second verification timer starts
- User can press the button to cancel the alert
This helps reduce false positives.
If the user does not cancel within 7 seconds:
- Fall is classified as confirmed
- Arduino sends
FALL_DETECTEDmessage to ESP32
The ESP32:
- Receives the confirmation message
- Connects securely to AWS IoT Core
- Publishes the event through MQTT
- Logs the fall detection event in the cloud
MPU6050
│
▼
Arduino Uno
│
├── Detects Fall
│
├── Activates Buzzer
│
├── Waits 7 Seconds
│
▼
ESP32
│
▼
AWS IoT Core
│
▼
Fall Event Published
human-Fall-Detector
│
├── README.md
├── Schematic.png
├── Wokwi.png
├── Wokwi_Simulation.png
├── arduino code.ino
└── esp32 code.ino
- Elderly Care Monitoring
- Smart Healthcare Systems
- Assisted Living Environments
- Patient Safety Monitoring
- Home Automation Safety Systems
- Remote Health Monitoring
- SMS and Email notifications
- GPS location tracking
- Mobile application integration
- Battery-powered wearable device
- Machine Learning based fall classification
- Real-time caregiver dashboard
- Emergency contact notification system
- Embedded Systems Development
- Arduino Programming
- ESP32 Development
- Sensor Interfacing
- Serial Communication
- IoT System Design
- MQTT Protocol
- AWS IoT Core Integration
- Real-Time Monitoring Systems
- Event-Based System Architecture
- IoT
- PCB Design
- ROS2