Quantifying Tremor Activities in Parkinson's Disease Using Motion Sensors

CWSF · 2026 Disease & Illness

Thumbnail supplied by the source for Quantifying Tremor Activities in Parkinson's Disease Using Motion Sensors

Overview

I developed a low-cost device to measure tremors, which are small, involuntary movements often seen in conditions like Parkinson’s disease. I was inspired to do this after seeing how difficult it can be to track these symptoms without expensive medical equipment. Using a small microcontroller with built-in motion sensors, I explored a system that can detect movement, measure how fast it occurs, and show how strong it is. I tested the device by keeping it still, shaking it at different speeds, and wearing it on my wrist to simulate real-life use. The results showed that the device could clearly detect changes in movement and identify patterns. This project matters because it shows that simple and affordable technology can help us better understand tremors, which could lead to more accessible ways to monitor and support people with neurological conditions.

Video

Why?

This project was inspired by seeing the real life impact of neurological conditions, particularly Parkinson’s disease, through my grandfather’s experience. Watching him face the challenges of tremors made me realize how difficult it can be to measure and track these symptoms accurately. It led me to question whether there could be a simpler and more accessible way to better understand them. The purpose of this project was to build and test a low-cost tremor sensor using the Arduino Nano 33 BLE Sense to determine whether it could accurately detect tremor frequency and amplitude within the typical range associated with Parkinson’s tremors. I wanted to explore whether affordable technology could provide meaningful, quantitative data without relying on expensive medical equipment. Through this project, I investigated how motion sensors and data analysis techniques could be used to detect patterns in tremor-like movements and determine whether these movements are random or follow consistent patterns. This project addresses the problem of limited access to diagnostic tools, which often require specialized equipment and professional evaluation. By developing a simple and cost-effective system, this work explores a step towards more accessible healthcare technology. This research could benefit individuals living with movement disorders, as well as healthcare professionals and researchers. Ultimately, it aims to contribute to earlier detection, better monitoring, and improved understanding of neurological symptoms.

How?

To begin this project, I conducted background research on Parkinson’s disease, tremors, and how motion is measured using sensors. I used reliable sources such as scientific articles, Arduino and Embedded Systems engineering tutorials, and university-level educational resources to understand how tremor frequency and motion tracking work. I also reviewed how sensors in wearable health devices collect and process movement data. The solution was designed using an Arduino Nano 33 BLE Sense microcontroller, which includes a built-in accelerometer and gyroscope to measure movement in three directions (x, y, and z). The materials used included the Arduino board, a micro-USB cable, a computer, and the Arduino IDE software. Additional libraries were installed to allow access to motion data and perform frequency analysis. The program was developed to continuously collect motion data from the sensor. A filter was added to reduce background noise and focus only on relevant movement signals. Fast Fourier Transform (FFT) was then used to convert the motion data into frequency information so that tremor patterns could be identified. To test the device, I first kept the sensor completely still to establish a baseline and ensure accurate readings. Next, I tested it by shaking the device at different controlled speeds ranging from approximately 3 to 10 Hz. I also attached the device to my wrist using a simple strap to test real world movement conditions. Data was collected through the Arduino Serial Monitor, which displayed frequency, amplitude, and motion direction. Each test condition was observed and recorded to evaluate how the sensor responded to different types of movement. Variables such as position, movement speed, and placement on the wrist were considered to compare how they affected the readings.

What?

A tremor sensor was built using the Arduino Nano 33 BLE Sense microcontroller, which includes an integrated 9-axis inertial measurement unit (IMU) for high-resolution motion detection. To complete this project, an Arduino Nano 33 BLE Sense, a micro-USB cable, and a computer with the Arduino Integrated Development Environment (IDE) were used. A tutorial by Jochem, a student at the HAN University of Applied Sciences studying Embedded Systems Engineering, guided the assembly of the hardware; however, I designed my own experimental procedure to investigate whether tremor-like motion shows patterns beyond randomness. The microcontroller contains a built-in IMU, which includes an accelerometer and gyroscope capable of detecting movement in three directions: the x-axis, y-axis, and z-axis. This allowed the device to measure motion in three-dimensional space and identify which axis showed the strongest movement during testing. The first step of the experiment was installing the Arduino IDE software and configuring it to recognize the board. Necessary libraries were installed, including Arduino_LSM9DS1, which allows access to motion sensor data, and arduinoFFT, which performs Fast Fourier Transform analysis. FFT is a mathematical method used to convert time-based motion signals into frequency data, allowing the system to identify repeating motion patterns and estimate tremor frequency.

After setup, the tremor sensor program was uploaded to the board. The program continuously reads acceleration data from the IMU and applies digital filtering to remove unwanted noise. A Butterworth filter was used to isolate frequencies within the typical tremor range, improving clarity in the signal. The filtered data was then processed using FFT to identify the dominant frequency, as well as the amplitude of movement. To test the system, three main conditions were used. First, the board was left completely still to establish a baseline. In this state, readings remained close to zero, with only minor fluctuations caused by sensor noise. This confirmed that the filtering process was effective. Second, the board was shaken manually at different speeds between approximately 3 and 10 Hz to simulate tremor-like motion. In these trials, the system consistently detected changes in frequency output corresponding to faster or slower movement. Higher-intensity shaking produced larger amplitude values, while slower movement produced lower frequency readings.

Finally, the device was attached to the wrist using rubber bands to simulate wearable use. The dominant axis of motion was identifiable in most tests, and the FFT output continued to highlight a primary frequency peak. Across all tests, the system demonstrated that low-cost motion sensors combined with signal processing techniques can meaningfully distinguish between rest and controlled motion. The results show that even low-cost devices can measure tremors in a clear and reliable way.

So What?

The purpose of this experiment was to determine whether a low-cost microcontroller could function as a tremor sensor capable of measuring tremor frequency and amplitude. The results demonstrate that the Arduino Nano 33 BLE Sense can successfully detect motion within the typical Parkinson’s tremor range and analyze it using digital signal processing techniques. Although this system is not a certified medical device, it demonstrates the potential for affordable wearable technology to assist in symptom monitoring. The ability to measure tremors objectively could help patients track the effectiveness of medication or exercise programs over time. This could provide valuable insight into how symptoms change and whether treatments are producing measurable improvements. There were some limitations to this experiment. The tremors were simulated by manually shaking the device rather than testing it on individuals diagnosed with Parkinson’s disease. Real tremors may vary in consistency and pattern compared to controlled shaking. Additionally, external vibrations or sudden movements could influence the readings. Future improvements could include adding wireless data transmission, storing long-term data, or designing a more compact wearable enclosure. In conclusion, this project successfully demonstrated that tremor frequency and amplitude can be measured using a compact and affordable microcontroller platform. The experiment shows that accessible engineering solutions can contribute to improving how movement disorders are monitored and understood. This brings us one step closer to conquering Parkinson's.

What's Next?

Future improvements could include adding wireless capabilities so the device can send data in real time without being connected to a computer. It could also store data over longer periods, allowing for tracking and analysis of tremors. The design could be made smaller and more comfortable, like a wearable wristband, for everyday use. Another improvement would be developing a mobile app that uses an algorithm to turn tremor data into readable information for the user. This data could be shared with doctors to support monitoring and medical decisions. Improving battery life and code efficiency would make the system more reliable.

Thanks

I would like to acknowledge the creator of the tremor sensor guide on Instructables, Jochem, for providing the foundation for this project. I'd also like to thank Arduino for their documentation and development tools, as well as my teacher, Mr. Laframboise, and Mr. Lalonde for guidance and support throughout this experiment. Thank you to the United Counties Science Fair for providing a platform that encourages student research, creativity, and scientific exploration.  A heartfelt thank you to my parents for their constant support and encouragement throughout this whole process; this project would not have been what it is without them. Finally, this project was done in memory of my grandfather, who recently passed away after his battle with Parkinson's disease, which had become too advanced a few months ago. He was the inspiration behind this work and the motivation to better understand this disease. This project is dedicated to him.

References

References

Blakemore, E. (2024, September 25). What is Parkinson’s disease—and why is it so hard to diagnose? Science. https://www.nationalgeographic.com/science/article/parkinsons-disease-cause-symptoms-diagnosis

Jochem. (2022, March 29). Build Your Own Tremor Sensor-inator. Instructables. https://www.instructables.com/Build-Your-Own-Tremor-Sensor-inator/

John Hopkins Medicine. (2011). How Parkinson’s Disease Is Diagnosed. John Hopkins Medicine. https://www.hopkinsmedicine.org/health/treatment-tests-and-therapies/how-parkinson-disease-is-diagnosed

Mayo Clinic. (2023). Parkinson’s disease - Diagnosis and treatment. Mayoclinic.org.

https://www.mayoclinic.org/diseases-conditions/parkinsons-disease/diagnosis-treatment/drc-20376062

Mayo Clinic. (2024, September 27). Parkinson’s Disease. Mayo Clinic. https://www.mayoclinic.org/diseases-conditions/parkinsons-disease/symptoms-causes/syc-20376055.

Nano 33 BLE Sense. (2024). Arduino.cc. https://docs.arduino.cc/hardware/nano-33-ble-sense/#features

Parkinson’s in Canada: Understanding the reality - Parkinson Canada. (2025, November 4). Parkinson Canada -. https://www.parkinson.ca/the-reality/

Images (14)

Awards (1)

  • Selected for CWSF 2026

Competition history

Related projects

Closest projects by meaning, across every fair and year in the corpus.

Browse more like this

Source: ProjectBoard / Youth Science Canada

Save projects to your library

Sign in with Google to keep track of projects you find interesting, organized into folders. An account also raises your daily allowance for “Has this been done?”, and lets you create a key for the MCP server with a much higher limit than anonymous use. Browsing stays public.

Continue with Google