Skip to content

UnPark

AI-powered wearable that detects Parkinson's freezing episodes and cues movement with haptic feedback.

WearableHealthcareEmbeddedPythoniOSHackathon

UnPark is an AI-powered wearable device for Parkinson's patients experiencing Freezing of Gait (FOG). An ankle-mounted MPU6050 accelerometer and a Raspberry Pi 4 detect freezing episodes with ~95% accuracy and trigger instant haptic vibration cues to help restore movement, with events synced in real time to an iOS companion app for logging, analytics, and clinical sharing.

The problem

Parkinson's patients experiencing Freezing of Gait can suddenly lose the ability to step forward, and existing mobility aids don't detect a freeze as it happens or cue the patient to move again in real time.

Approach

Built a wearable that continuously reads ankle motion, flags a freeze from sustained stillness rather than a single reading, and closes the loop immediately with a physical vibration cue instead of only logging the event for later.

Architecture

An ankle-mounted MPU6050 accelerometer streams 3D acceleration data to a Raspberry Pi 4. The detection loop maintains a smoothed motion baseline (exponential smoothing) and flags a freeze when both the deviation from baseline and the sample-to-sample derivative stay below threshold for a sustained stillness window, triggering a haptic vibration cue. Freeze events are broadcast in real time over Wi-Fi via a Flask + Flask-SocketIO server running on the Pi, which a Swift iOS app consumes to log events to Firebase and render trend graphs and shareable clinical reports.

What I built

Built the on-device freeze-detection pipeline and the Flask/Flask-SocketIO backend that streams freeze events from the wearable to the companion app in real time, as part of a team at the McMaster MedSprint Hackathon 2025.

Engineering challenges

Results

Stack

Hardware
Raspberry Pi 4MPU6050 AccelerometerVibration MotorBattery PackAnkle Strap Mounting
Software
PythonFlaskFlask-SocketIOeventletSwift (iOS)Firebase

What I'd do differently

Most of the real difficulty wasn't the accelerometer math, it was threshold tuning: distinguishing a genuine freeze from a patient simply standing still meant iterating on sensitivity in real conditions, not just on paper.

Other work