Build a Fall-Detecting Robot Helper for Grandma & Grandpa!
A fun, easy DIY electronics project that senses a fall and sounds an alarm — perfect for young inventors who want to help keep loved ones safe.
🤔 What Is a Fall Detection System?
Imagine a tiny robot brain that never blinks — it just watches over Grandma or Grandpa all day. If they trip and fall, this little brain notices right away and shouts for help by buzzing loudly! That's exactly what our project does. It uses a small sensor called an accelerometer (a chip that feels motion, kind of like your inner ear helps you feel when you're falling) hooked up to a mini computer called an Arduino.
🧰 What You'll Need
- 🔲 Arduino Uno board
- 📡 MPU6050 sensor
- 🔊 Small buzzer
- 💡 LED light
- 🔘 Push button
- 🔌 Breadboard
- 🧵 Jumper wires
- 🪫 9V battery (optional)
🔧 The Circuit Diagram
Here's how all the parts connect. Don't worry — it's just like connecting dots!
The MPU6050 talks to the Arduino using two wires (SDA and SCL). The buzzer and LED are the "alarm," and the push button lets a person say "I'm okay!" to cancel a false alarm.
👣 Step-by-Step Build
Set up the breadboard
Place your Arduino next to the breadboard and connect the 5V and GND pins to the breadboard's power rails.
Wire the MPU6050 sensor
Connect VCC to 5V, GND to GND, SDA to Arduino pin A4, and SCL to Arduino pin A5.
Add the buzzer and LED
Connect the buzzer's positive leg to pin 8 and the LED's positive leg (through a resistor) to pin 7. Ground both to the breadboard's GND rail.
Add the push button
Wire the button between pin 2 and GND, using the Arduino's built-in pull-up resistor in the code.
Upload the code
Plug your Arduino into your computer and upload the sketch below using the free Arduino IDE.
Test it gently
Tilt or gently shake the sensor to simulate a fall (never drop the real device hard!) and watch the buzzer and LED turn on.
💻 The Code
Copy this into the Arduino IDE. It uses the free Adafruit_MPU6050 and Adafruit_Sensor libraries (install them from the Library Manager).
#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
Adafruit_MPU6050 mpu;
const int buzzerPin = 8;
const int ledPin = 7;
const int buttonPin = 2;
const float FALL_THRESHOLD = 2.5; // g-force jump that suggests impact
const float STILL_THRESHOLD = 0.3; // near-zero motion after impact
bool possibleFall = false;
unsigned long fallTime = 0;
void setup() {
Serial.begin(9600);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
if (!mpu.begin()) {
Serial.println("MPU6050 not found!");
while (1) delay(10);
}
mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
Serial.println("Fall detector ready!");
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
float totalG = sqrt(a.acceleration.x * a.acceleration.x +
a.acceleration.y * a.acceleration.y +
a.acceleration.z * a.acceleration.z) / 9.8;
// Step 1: look for a sudden hard impact
if (!possibleFall && totalG > FALL_THRESHOLD) {
possibleFall = true;
fallTime = millis();
}
// Step 2: confirm the person is now still (lying down)
if (possibleFall && millis() - fallTime > 1500) {
if (abs(totalG - 1.0) < STILL_THRESHOLD) {
triggerAlarm();
}
possibleFall = false;
}
delay(50);
}
void triggerAlarm() {
Serial.println("Possible fall detected! Sounding alarm...");
unsigned long start = millis();
while (millis() - start < 10000) {
digitalWrite(buzzerPin, HIGH);
digitalWrite(ledPin, HIGH);
if (digitalRead(buttonPin) == LOW) {
Serial.println("Cancelled - I'm okay!");
digitalWrite(buzzerPin, LOW);
digitalWrite(ledPin, LOW);
return;
}
}
Serial.println("No response - send alert to caregiver!");
digitalWrite(buzzerPin, LOW);
digitalWrite(ledPin, LOW);
}
🧠 How the Code Thinks
The robot's brain follows two simple checks, just like a detective:
- "Was there a big bump?" — It measures total g-force from the sensor. A sudden spike means something hit the ground hard.
- "Did they stop moving after?" — If motion drops to almost nothing right after the bump, that's a strong clue someone fell and isn't getting up.
Only when both clues line up does it sound the alarm — this helps avoid false alarms from things like sitting down quickly.
🚀 Level-Up Ideas
- Add a GSM module to text a caregiver automatically.
- Connect a small OLED screen to show a countdown before the alarm goes off.
- Add a rechargeable battery pack to make it wearable, like a smartwatch.
- Log falls to an SD card to track patterns over time.
❓ Quick Questions
Is this project safe for kids to build?
Yes! With adult supervision, this is a great beginner electronics project — no soldering is required if you use a breadboard.
What age is this project best for?
Ages 10 and up, especially kids who enjoy STEM, robotics kits, or building gadgets.
Can this replace a real medical alert device?
No. It's an educational prototype. Real elderly-care alert systems are professionally tested and certified.

Comments
Post a Comment