The problem
Two-wheeler riders are the most vulnerable road users, and in serious crashes the minutes before help arrives decide outcomes. A rider who is thrown from the bike or loses consciousness cannot call for help, and bystanders may not know the exact location or whom to contact. This project tackles that gap with a helmet-mounted electronics module: a 6-axis IMU continuously measures acceleration, and when an impact exceeds a set threshold the system treats it as a crash, grabs the current GPS fix, and sends an SOS text message with a map link to a pre-saved emergency contact. A large SOS push-button on the module lets a conscious rider trigger the same alert manually. A companion dashboard — running on a laptop or phone — shows the rider's live position on a map, telemetry like speed and battery, and a chronological alert feed. Everything is built from common, well-documented modules (ESP32, MPU6050, NEO-6M, SIM800L), so every subsystem can be explained, calibrated and demonstrated in a viva.
Wears the helmet; can cancel the countdown or press the red SOS button at any time.
Follow the working sequence
How it works
- The ESP32 reads the MPU6050 accelerometer at 100 Hz over I2C (±8 g full-scale range selected) and computes the resultant acceleration vector each sample.
- A sliding 200 ms window is checked: if the resultant stays above the configured threshold (default 4.0 g) for the whole window, the firmware raises a crash event; brief spikes from potholes or braking fall below the window and are logged, not alerted.
- On a crash event, the latest NEO-6M NMEA sentence (1 Hz update) is parsed for latitude, longitude and speed, and a 15-second countdown starts on the dashboard, during which the rider can cancel.
- If the countdown is not cancelled, the ESP32 issues AT commands to the SIM800L, which sends an SMS containing the impact value, coordinates, a Google Maps link and current speed to the stored emergency number.
- The rider can also press the red SOS button at any time; the firmware debounces the press and sends the identical SMS immediately, skipping the countdown.
- Throughout the ride, the ESP32 streams position, speed, battery and impact data to the companion dashboard over Wi-Fi (phone hotspot or the module's own access point) at 1 Hz, rendering the live map and alert feed.
- All events are timestamped into a persistent log the dashboard displays, giving a complete, demonstrable test trail for crash, cancel and manual-SOS cases.
Tech stack:
- ESP32-WROOM-32 (dual-core 240 MHz, Wi-Fi + Bluetooth, 3.3 V logic)
- MPU6050 6-axis IMU (accelerometer ±2/4/8/16 g, gyroscope ±250/500/1000/2000 °/s, I2C)
- NEO-6M GPS module (50-channel, 2.5 m CEP, UART NMEA)
- SIM800L GSM module (quad-band 2G, SMS via AT commands, UART)
- Arduino framework firmware (C++)
- Companion dashboard: HTML, CSS, JavaScript (single-file web app)
- 2S 18650 Li-ion pack with buck regulator and USB charging
- 3D-printed module enclosure with SOS push-button
| Parameter | Value |
|---|---|
| Controller | ESP32-WROOM-32, dual-core 240 MHz (datasheet) |
| IMU | MPU6050, accel ±8 g selected (±2/4/8/16 g available), gyro ±2000 °/s available (datasheet) |
| IMU sampling | 100 Hz over I2C (design target) |
| Crash threshold | 4.0 g default, adjustable 3.0–8.0 g (design target) |
| Confirmation window | 200 ms above threshold (design target) |
| GPS | NEO-6M, 2.5 m CEP horizontal accuracy, cold start approximately 27 s (datasheet), 1 Hz updates |
| GSM | SIM800L, 850/900/1800/1900 MHz 2G, SMS via AT+CMGS (datasheet) |
| SOS countdown | 15 s with manual cancel (design target) |
| Battery | 2S 18650, 7.4 V nominal, approximately 2600 mAh (datasheet) |
| Battery life | Approximately 8–12 h continuous GPS + GSM operation (expected) |
| Dashboard update rate | 1 Hz position and telemetry (design target) |
| Added module weight | Approximately 180–220 g (expected) |
Project features
- [Crash detection with impact threshold] The MPU6050 is sampled at 100 Hz; when resultant acceleration exceeds the set threshold (default 4.0 g) continuously for more than 200 ms, a crash event is raised. The threshold is adjustable from 3.0 to 8.0 g from the dashboard.
- [Automatic SOS SMS with GPS link] On a crash event, the NEO-6M's latest fix is packed into a text message with a Google Maps link, impact reading and speed, and sent via the SIM800L to the saved emergency number. A 15-second on-screen countdown lets a conscious rider cancel before sending.
- [Manual SOS button] A large red push-button on the module sends the same SOS SMS immediately when pressed — for breakdowns, medical emergencies or situations that are not crashes.
- [Live ride tracking dashboard] The companion web dashboard shows the rider's position on a live map with the travelled path, plus speed, battery level, impact telemetry and a ride-event feed, updating every second.
- [Event logging] Every crash event, hard-braking spike, SOS and cancellation is timestamped and stored in the dashboard feed, which doubles as a test log for the report.
- [Low-power helmet module] The module runs from a 2-cell 18650 pack with a buck regulator, giving approximately 8–12 hours of continuous operation (expected), and charges over USB.
- [Voice-call SOS (optional)] The SIM800L can additionally place a voice call to the emergency contact after the SMS — wired in firmware on request, off by default.
- [Helmet-worn auto-arm (future scope)] A capacitive touch pad inside the shell to arm the system only when worn is designed but not implemented in the base build.
What is included
- Helmet electronics module, fully assembled and wired (ESP32, MPU6050, NEO-6M, SIM800L, SOS button, battery pack, 3D-printed enclosure)
- Mounted and tested on a standard full-face helmet shell
- Companion tracking dashboard (single-file web app) configured for your phone number
- Firmware source code with threshold and contact-number configuration guide
- Wiring diagram and module assembly guide
- Test log template with crash-simulation, cancel and manual-SOS procedures
- Project report PDF (background, sensor theory, firmware logic, test results)
- PPT presentation for final review
- Viva Q&A preparation document (IMU ranges, GPS fix types, AT commands, threshold tuning)
Limitations & prerequisites
- GPS needs open sky: cold start takes approximately 27 s (datasheet) and there is no fix indoors, in tunnels or underground parking.
- The SIM800L is a 2G modem — SOS SMS only works where 2G coverage exists, and 2G networks are being retired in some countries; verify your carrier before ordering.
- A dropped helmet can exceed 4 g, so false triggers are possible; the 15-second cancel window and adjustable threshold mitigate this but do not eliminate it.
- SMS delivery on 2G typically takes 5–10 seconds and is not guaranteed real-time; this is an alert aid, not a certified emergency system.
- Continuous GPS plus GSM draws significant power — expect approximately 8–12 hours per charge, less in weak-signal areas where the modem transmits harder.
- The electronics are an add-on and do not change the helmet shell's own safety certification; the prototype is for demonstration, not for certifying rider protection.
Frequently Asked Questions
How does it tell a real crash apart from a pothole or hard braking?
A crash event needs the resultant acceleration to stay above the threshold (default 4.0 g) for a full 200 ms window. Potholes and braking produce sharp but short spikes that fall inside one or two samples, so they get logged as events without firing the SOS. The threshold is adjustable from the dashboard if your testing shows a better value.
Does it need the internet to work?
No. Crash detection runs entirely on the ESP32, GPS fixes come from satellites, and the SOS goes out as a plain 2G SMS — no data plan or internet needed. The companion dashboard connects over local Wi-Fi (phone hotspot or the module's access point) purely for the live map view.
What happens if the rider is unconscious after a crash?
That is exactly the case the automatic path covers: the IMU detects the impact, the 15-second countdown runs, nobody cancels it, and the SMS with the GPS map link goes to the emergency contact. The manual SOS button is the backup for a conscious rider in a non-crash emergency.
Is the helmet still safe to wear with the module attached?
The module mounts on the outside rear of a standard certified shell and the electronics add roughly 200 g. The shell's own certification is unchanged, but this is a student prototype for demonstration — it is not a certified safety device and must be presented as such in the report and viva.
Can I change the emergency number and sensitivity myself?
Yes. Both are configuration values in the firmware with a step-by-step guide: the phone number is set once before flashing, and the g-threshold slider on the dashboard adjusts sensitivity live during testing.
Is this project suitable for a final-year project?
Yes — for Electronics, E&TC, Electrical and IoT programs. It combines embedded firmware, sensor interfacing, GPS/GSM communication and a companion app, with clear, testable requirements and honest, quantifiable limitations to discuss in the viva.
Components & software requirements
- ESP32-WROOM-32 (dual-core 240 MHz, Wi-Fi + Bluetooth, 3.3 V logic)
- MPU6050 6-axis IMU (accelerometer ±2/4/8/16 g, gyroscope ±250/500/1000/2000 °/s, I2C)
- NEO-6M GPS module (50-channel, 2.5 m CEP, UART NMEA)
- SIM800L GSM module (quad-band 2G, SMS via AT commands, UART)
- Arduino framework firmware (C++)
- Companion dashboard: HTML, CSS, JavaScript (single-file web app)
- 2S 18650 Li-ion pack with buck regulator and USB charging
- 3D-printed module enclosure with SOS push-button
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.