Inspiration
MotionBloom began with a simple question: how can movement data from a small, affordable device become easier to observe and understand? I built a custom Arduino-based biomechanics sensor that captures motion data so a user can see live measurements and retain a record for later exploration.
What it does
MotionBloom streams inertial-measurement-unit (IMU) readings over Bluetooth Low Energy to a desktop application. The dashboard displays live accelerometer, gyroscope, battery, and connection data, and appends each reading to a CSV log. A companion analysis pipeline processes windowed IMU features and groups motion into low, moderate, and high tremor stages, giving the prototype a clear way to visualize changes in motion over time.
This is an experimental engineering prototype for motion sensing and data exploration—not a diagnostic or medical device.
How I built it
The hardware is programmed with Arduino and communicates using BLE. On the computer, a Python and Tkinter interface uses Bleak to connect to the sensor and record data. The tremor-analysis workflow uses scikit-learn K-Means clustering to build a model from IMU logs, then reloads that model in the UI for live staging. The project stores raw logs and derived window data in CSV files so the results remain inspectable.
Challenges I ran into
Reliable Bluetooth communication and consistent sensor logging were the biggest challenges. I had to make the desktop connection resilient, preserve a usable CSV format, and handle retraining without corrupting an active log. Turning continuous accelerometer and gyroscope readings into meaningful time windows also required careful feature extraction and labeling.
What I learned
This project showed me that the most valuable part of a sensor prototype is not only collecting data, but making it visible, traceable, and understandable. I learned how embedded programming, BLE communication, desktop interfaces, and lightweight machine learning can work together in one end-to-end biomechanics sensing system.
What's next
Next, I want to refine the enclosure and calibration workflow, add clearer trend visualizations, and test the system with a broader range of controlled movements.
Built With
- accelerometer
- arduino
- biomechanics
- ble
- bleak
- bluetooth
- data-visualization
- gyroscope
- imu
- k-means
- python
- scikit-learn
- tkinter
Log in or sign up for Devpost to join the conversation.