Back to work

2024

Embedded Parkinson's Detection & Monitoring System

C++ATmega32u4FFTADCEmbedded Systems

A wearable microcontroller that detects and classifies Parkinson's symptoms in real time using frequency analysis, with no cloud connection required.

No libraries to lean on. Every peripheral was configured manually from datasheets. FFT on a microcontroller with constrained memory means every byte of the algorithm has to earn its place.

Parkinson's Detection System

The problem

Parkinson's symptoms are invisible to medication schedules

Parkinson's disease causes two main types of involuntary movement that physicians need to track: tremor (a rhythmic shaking at rest) and dyskinesia (a different kind of writhing, often caused by the medication itself). The challenge is that these symptoms come and go throughout the day depending on when medication was taken, activity level, and stress.

Most patients can only describe their symptoms to their doctor from memory during an appointment. That is an unreliable signal. Objective, continuous, real-time monitoring of which symptom is happening and how intensely would give both patients and doctors a much clearer picture of how the disease is progressing and how well the medication is working.

How it works

01

Sense

The device wears on the body and listens

A small accelerometer inside the device captures how the body is moving 21 times per second. It measures movement in all three directions at once, then combines them into a single number that represents total motion intensity. Any background vibration or gravity is filtered out so only meaningful movement gets analyzed.

02

Collect

Three seconds of data at a time

Every three seconds, the device collects 64 movement readings and bundles them together. Three seconds is long enough to catch a full tremor cycle, but short enough that the feedback still feels immediate. The device does all of this on its own tiny processor with no internet connection and no app required.

03

Analyze

Breaking movement into frequencies

Here is the core insight: different symptoms shake at different speeds. A resting Parkinson's tremor typically oscillates between 3 and 5 times per second. Dyskinesia, a different kind of involuntary movement caused by long-term medication use, tends to occur between 5 and 7 times per second. A technique called FFT (Fast Fourier Transform) breaks the collected movement data apart by frequency, the same way a prism splits white light into colors.

04

Classify

Deciding what it saw

After breaking the movement into frequency buckets, the device checks how much energy sits in each symptom band. If more than a third of the total energy falls in the tremor range, it flags tremor. If more than a third falls in the dyskinesia range, it flags dyskinesia. If both pass a lower threshold at the same time, it flags both. If the total movement energy is low, it returns a normal reading.

05

Communicate

Color tells the story instantly

Ten small LEDs on the device light up in real time to communicate the result. Green means normal movement. Yellow means tremor is present. Red means dyskinesia is detected. Purple means both are occurring at once. The brightness of the lights scales with the intensity of the symptom, so a faint yellow means mild tremor and a bright yellow means significant tremor.

Design decisions

Why not just use a phone app?

Processing everything on the device itself means there is no battery-draining Bluetooth stream, no latency from sending data to a server, and no privacy concern from transmitting health data. The device is also simpler to use for someone who may have motor difficulties.

Why three seconds per reading?

Too short and there is not enough data to reliably identify a frequency pattern. Too long and the feedback becomes useless for real-time awareness. Three seconds hits the practical sweet spot for a wearable health monitor.

Why frequency analysis instead of just detecting shaking?

Raw shaking intensity cannot tell you what kind of movement it is. A person walking briskly produces high-intensity movement that is not a symptom at all. Frequency analysis lets the device ignore how hard someone is moving and focus instead on the rhythm of the movement, which is what differentiates healthy activity from tremor.

Why those specific frequency bands?

The 3 to 5 Hz range for tremor and 5 to 7 Hz range for dyskinesia come from decades of clinical research on Parkinson's disease. These are the frequencies that medical literature consistently identifies as characteristic of each symptom type.

Output

What the device shows

Normal

Low total movement energy

Tremor

3 to 5 Hz energy dominant

Dyskinesia

5 to 7 Hz energy dominant

Both

Both bands above threshold