OdySafe

Keeping loved ones close, even when they are far from home.

Inspiration

In Homer's Odyssey, Odysseus is gone for years while his wife, Penelope, and their son, Telemachus, are left without answers. They do not know whether he is safe, in danger, or even alive. Their story is not only about a long journey; it is also about the fear and uncertainty experienced by the people waiting at home.

We chose this project for the Odyssey theme because that same uncertainty still exists today. When an older adult, a person with a movement disorder, or anyone at risk of falling is alone, their loved ones may have no way to know that something has happened. OdySafe is our attempt to shorten that distance. It keeps loved ones connected, detects signs that someone may need help, checks on them, and alerts a caregiver when they cannot respond.

What it does

OdySafe is an experimental wearable safety system built around an Arduino Nano 33 BLE Sense. It streams accelerometer and gyroscope data to a Python application that monitors for possible falls, tremor-like movement, and seizure-like movement.

When the system detects a possible incident, it:

  1. Asks the wearer if they are okay and starts a confirmation countdown.
  2. Allows the wearer to confirm they are safe through the dashboard, with an enrolled voice saying “I'm okay,” or through gesture-based confirmation for users who cannot speak.
  3. Sends a real-time alert to a caregiver dashboard if the wearer asks for help, does not respond, or cannot confirm they are safe.
  4. Shares the wearer's location with the caregiver if the wearer has allowed location sharing, helping the caregiver know where to find them. If location sharing is unavailable or disabled, the system does not present a location as known.
  5. Gives the caregiver a short window to acknowledge the alert.
  6. Requests a Twilio voice call to the configured caregiver if the alert remains unacknowledged.

For seizure-like incidents, the system can also play a spoken first-aid message for nearby people and record a local episode report containing movement intensity, rhythmic frequency information, and a sensor timeline. Reports can be reviewed and exported as JSON or CSV.

OdySafe is designed to keep a human in the loop. Voice, gesture, and dashboard-based confirmation give wearers different ways to respond, including when speaking is difficult or impossible. The system gives the wearer a chance to prevent a false alarm, provides caregivers with incident information and permission-based location data, and escalates when a response is missing.

How we built it

Hardware

  • Arduino Nano 33 BLE Sense
  • Built-in accelerometer and gyroscope
  • USB serial connection to a laptop

The Arduino samples six-axis motion at approximately 50 Hz and sends timestamped readings to the application.

Machine learning and signal processing

  • A Random Forest fall-detection classifier processes 32-sample windows using 56 statistical motion features.
  • The fall model was trained on the BITS-2 dataset with participant-level train, validation, and test splits.
  • A separate Random Forest model scores seizure-like movement from acceleration data.
  • Frequency-domain checks look for sustained rhythmic motion and help suppress predictions without enough physical movement.
  • A spectral heuristic monitors tremor-like movement.

Datasets used to train the models

We used motion datasets to train and evaluate the machine-learning components of our prototype:

  • BITS-2 (fall detection): We trained a Random Forest classifier with 100 decision trees to distinguish falls from activities of daily living (ADLs). The model uses 56 statistical motion features extracted from 32-sample accelerometer and gyroscope windows. We used participant-level training, validation, and test splits to reduce data leakage and evaluate generalization to unseen individuals. On the held-out test set, our model achieved 79.7% accuracy and 61.5% fall recall. Dataset source.
  • UEA Epilepsy Dataset (seizure-like movement): We trained a separate Random Forest classifier using acceleration-derived features from the Epilepsy dataset in the UEA Multivariate Time Series Classification Archive. The dataset contains three-axis wrist-accelerometer recordings from six healthy volunteers performing four activities: simulated epileptic seizures, walking, running, and sawing. Importantly, these are mimicked seizures, not recordings of clinical epileptic seizures, so the model is experimental and does not establish real-world seizure detection performance. Dataset source · Archived download.
  • Tremor-like movement: This feature currently uses frequency-domain signal-processing heuristics, rather than a separately trained machine-learning model or training dataset.

These datasets support experimental movement-pattern recognition, not clinical seizure or fall diagnosis. Differences between the training recordings and the Arduino's real-world sensor readings may affect performance.

Application and communication

  • Python and NumPy handle sensor ingestion, feature extraction, and incident logic.
  • FastAPI serves the wearer and caregiver experiences.
  • WebSockets deliver live sensor, incident, and acknowledgment updates.
  • A voice pipeline combines speech recognition with enrolled-speaker verification.
  • Gesture-based confirmation provides an alternative way for a wearer who cannot speak to indicate they are okay.
  • Permission-based location sharing helps caregivers locate a wearer during an incident when location access has been granted.
  • Twilio provides optional caregiver phone-call escalation.
  • Local episode reports preserve recent sensor evidence and can be exported for later review.

Challenges we ran into

One of our biggest challenges was bridging the gap between public motion datasets and a real Arduino sensor. Differences in units, sample rates, sensor placement, orientation, and timing can significantly change model behavior. We recreated the training feature contract, converted the live sensor units, and kept the live model separate from the original recording-level baseline.

We also had to coordinate several time-sensitive actions at once: continuous sensor input, detection windows, confirmation timers, voice recording, caregiver acknowledgments, WebSocket updates, and phone escalation. We built an incident state machine so that these events remain consistent and repeated sensor triggers do not create duplicate alerts.

False alarms were another important design challenge. A safety device should not immediately panic a family whenever it sees unusual movement. Our confirmation flow lets the wearer cancel an incident, request help immediately, or use their voice or gestures before the system contacts a caregiver.

Finally, we worked to present experimental results responsibly. A promising offline metric is not the same as clinical validation or reliable real-world performance, so the interface describes detections as possible falls or seizure-like movements rather than diagnoses.

Accomplishments that we are proud of

  • Built an end-to-end pipeline from a physical IMU to live wearer and caregiver dashboards.
  • Combined automatic detection with manual, voice-based, and gesture-based confirmation, including support for users who cannot speak.
  • Integrated permission-based location sharing, allowing caregivers to see the wearer's location during an incident when sharing is enabled.
  • Added authenticated caregiver access, real-time acknowledgment, and Twilio escalation.
  • Created a bystander first-aid broadcast for situations in which the wearer may be unable to speak.
  • Added detailed seizure-like episode capture, history, and JSON/CSV export.
  • Used participant-level dataset splits to reduce leakage when evaluating the fall model.
  • Reached 79.7% held-out accuracy and 61.5% fall recall on the window-based fall-detection task.
  • Built simulation support so the complete workflow can be demonstrated safely without asking anyone to fall.

What we learned

We learned that building a meaningful safety product is about much more than training a classifier. The most important work happens around the prediction: asking for confirmation, handling silence, communicating uncertainty, protecting caregiver access, recovering from disconnections, and making every escalation understandable.

We also learned how important honest evaluation is for wearable machine learning. Data collected from one device or body position does not automatically transfer to another. Real-world calibration, representative testing, and careful wording matter just as much as model accuracy.

Accessibility and privacy were equally important lessons. Not everyone can respond verbally during an emergency, so offering gesture-based confirmation creates another way for the wearer to communicate. Sharing location can also make an alert more actionable, but only when the wearer has permitted that sharing.

Most importantly, we learned that technology cannot replace a loved one—but it can help close the distance between them when every second and every sign of reassurance matters.

What's next for OdySafe

We would like to turn the tethered prototype into an independent wearable with a battery, enclosure, haptic feedback, and a secure Bluetooth connection to a phone. We would also collect consented data directly from the target hardware and multiple wear positions, personalize thresholds for each wearer, add encrypted cloud notifications and background mobile push, and conduct usability studies with wearers and caregivers.

We plan to further improve our machine learning models by training them on larger, more diverse real-world datasets, comparing the performance of different algorithms, and fine-tuning their parameters to improve detection accuracy, reduce false positives, and increase reliability in real-world scenarios.

Before any real-world health or safety use, the detection models would require much broader validation, accessibility testing, privacy review, and guidance from medical and emergency-response professionals.

Built with

Arduino · Python · FastAPI · WebSockets · NumPy · scikit-learn · TinyML · Twilio · SpeechRecognition · HTML · CSS · JavaScript

Important note

OdySafe is an experimental hackathon prototype. It is not a medical device, does not diagnose a seizure or other condition, and does not guarantee that a fall or emergency will be detected. It should not replace professional care or emergency services.

Built With

Share this project:

Updates

Submission history