Inspiration
The rise of wearable fitness technology inspired me to understand how raw sensor data can be used to analyze human activity. I wanted to go beyond step counters and visualize, measure, and classify physical activities using real motion and environmental data.
What it does
This project transforms smartphone sensor data into a complete fitness tracker in MATLAB. It: Visualizes the GPS path and altitude changes over time Analyzes acceleration and gyroscope signals Counts estimated steps and floors Calculates distance traveled and estimated calories burned Detects the user's activity (e.g., walking, running, stairs) using machine learning
How we built it
We collected sensor data using an iPhone and imported it into MATLAB. We processed the data by synchronizing timestamps and extracting relevant features from acceleration, angular velocity, and orientation. We visualized and analyzed this data to calculate physical metrics such as distance, steps, and altitude variation. Then, we labeled time segments corresponding to various activities and trained a classification model using MATLAB’s Classification Learner. Finally, we exported the trained model and evaluated it directly in the Live Script.
Challenges we ran into
Sensor fusion and synchronization across multiple data sources Determining thresholds for detecting step and floor events Balancing activity label accuracy with short-duration segments Avoiding model overfitting due to class imbalance (especially walking)
Accomplishments that we're proud of
Achieved over 94% accuracy using a simple Fine Tree classifier Visualized and validated predictions with a confusion matrix Automatically identified activity types from raw iPhone sensor data Displayed predicted activities and their accuracy in a Live Script interface
What we learned
How to import, clean, and analyze iPhone sensor data in MATLAB How to extract meaningful features from motion sensors How to use MATLAB’s Classification Learner app to train and evaluate machine learning models How to visualize predictions and diagnostics in a way that supports real-time analysis
What's next for Fitness Tracker by John Meintanis
Integrate live streaming of data using MATLAB Mobile or custom app Train the model using data from more users to improve generalization Add energy expenditure estimation based on heart rate if available Deploy the trained model to mobile or embedded platforms for real-time classification
Log in or sign up for Devpost to join the conversation.