Inspiration

Freezing of gait (FOG) is one of the most debilitating symptoms of Parkinson's disease. It is a sudden, involuntary inability to move the feet that dramatically increases fall risk and robs patients of independence and safety. Current interventions rely on visual or auditory cues administered by caregivers or expensive clinical equipment, leaving patients vulnerable whenever those supports aren't available. We wanted to build something patients could wear every day, so we built a discreet solution that gives them back control of their own movement.

What it does

NeuroStep is a wearable ankle device that detects the early signatures of a freezing episode and immediately delivers targeted vibrotactile stimulation to the ankle. These gentle vibrations act as a sensory cue that interrupts the freeze and prompts the nervous system to reinitiate movement. The result is a real-time self-contained intervention that patients can wear through any time or space.

How we built it

We built NeuroStep around an ESP32 microcontroller, paired with an IMU (inertial measurement unit) to continuously track gait patterns in real time. An on-device TensorFlow Lite AI model running on the ESP32 classifies movement, flagging the tremor signatures and gait irregularities that precede a freeze. When a freeze is detected, the ESP32 triggers a haptic motor embedded in the ankle strap, delivering a precisely timed vibrotactile pulse at the Achilles. For our user mobile application, we used React Native and Expo to to develop and test the app. MongoDB to store user data to track the symptoms of the user's Parkinson's disease for future treatments and plans of action. We use Vultr as a server to run our application to connect the device to the phone.

Challenges we ran into

  • Very dead computers: Unfortunately 2/3 of our members computers completely stopped working and would not turn back on... this resulted in us having to split development of both the hardware testing and software development for the app all on one single computer. Although we were able to get a new working computer partway through, it lacked the development tools and capabilities to be used effectively for our product. It is being used for this Devpost, and other small side tasks though.
  • Freeze detection tuning: Distinguishing a genuine freezing episode from ordinary slow walking or a deliberate pause required careful calibration of our IMU thresholds and classification logic.
  • Model compression: Our PyTorch gait classification model was too large to run on the ESP32 out of the box, so we needed to convert to TensorFlow Lite, a smaller model that the ESP32 could handle.
  • Soldering the Motor wires: Working with extremely thin wires on the haptic motors was terrible. The wires were too delicate for textbook soldering techniques, so we needed to find new ways to connect the motors to the rest of the circuit.
  • App for data from NeuroStep: We had smooth development of the general interface and functionality of the app, but unfortunately due to wifi limitations(web authentication over simple user and password settings) connecting NeuroStep to the server was a struggle. We tried to work around this through bluetooth, but due to time constraints and the amount of apps required to download, we did not have enough time to connect the two systems.
  • Mismatch between training data and real-world environment: We trained the CNN on DAPHNET, a dataset collected from 10 patients in a controlled research setting. The result is very clean data, but one that reflects a specific physical setup which is far different from the hardware that we could gather and construct. We bridged this gap using a calibration tool that activates at the start of the device boot, and collects 150 resting samples to compute the mean acceleration on each axis. From these values, we are able to normalize our IMU readings to match those of the original dataset.

Accomplishments that we're proud of

We're proud to have built a working end-to-end prototype within the hackathon timeframe. The real-time detection pipeline runs entirely on the ESP32 with low latency, which is essential for clinical usefulness. Most importantly, we built something that addresses a real and underserved problem for just $32: Parkinson's patients who freeze of gait have very few wearable options, and NeuroStep is a meaningful step toward filling that gap.

  • We were also able to accomplish creating a working mobile app using various new tools such as React Native and hosting on Expo. Even learning how to create our own database for user information or hosting our own server were fun and new experience that will be taken for future projects.

What we learned

TensorFlow & on-device ML: We learned how to train, quantize, and deploy a TensorFlow Lite model onto a microcontroller. We learned how to navigate the tradeoffs between model accuracy and the tight memory and compute constraints of the ESP32.

  • IMU sensor integration: Working with raw IMU data taught us how to filter and interpret accelerometer and gyroscope signals to extract meaningful gait features, and how sensitive the pipeline is to sensor placement and calibration.
  • Frontend development: Building a companion interface gave us experience connecting embedded hardware to a user-facing app. We learned how to handle real-time data streams and presented them in a way that's useful for both patients and clinicians.
  • Neuroscience of freezing of gait: We gained a much deeper appreciation for how vibrotactile stimulation works as a proprioceptive cue.

What's next for NeuroStep

The immediate next step is clinical validation: partnering with neurologists and Parkinson's patients to gather real-world data and refine our detection model. We want to add Bluetooth connectivity (leveraging the ESP32's built-in BLE) so the device can sync gait data to a companion app, giving clinicians longitudinal insight into a patient's freeze frequency and severity over time. Longer term, we're exploring adaptive stimulation patterns that adjust intensity based on the severity of the freeze, and miniaturizing the hardware further for a production-ready form factor that could move toward regulatory approval. (UPDATE: Bluetooth is now working!!)

Share this project:

Updates