After learning that deadlifts are of the most dangerous exercises responsible for serious injury, we wanted to create a product that could help track form of deadlifts. We wanted to make a wearable product that could notify the wearer when their angular velocity was changing too quickly, to reduce the risk of injury when deadlifting/training.
What it does
The user will wear the device on their chest because that's the part of the body that should ideally be in the same position at all times. In this position, the Arduino will be able to monitor if the back is bent at a different angle and will tell the user that they're out of form. Our app currently tracks the angular velocity and acceleration of the body and will report to the user if the body is shifting from optimal position.
A phone is connected to the Arduino via Bluetooth and will take in the data to present to the user.
Also using the phone app, the user can open the app using their voice and it will begin tracking their movements.
How we built it
Using Google Cloud API, Evothings, Arduino 101, Android Studio!
Communication: Using the Bluetooth low energy (BLE) communication, gyroscope, and accelerometer built into the Arduino 101, we had an IoT solution with peripherals we needed for our hack.
Frontend: We used Evothings, a mobile app development environment made specifically for IoT applications. This allowed us to program in Javacript and html for our layout and graphing of data.
Backend: With Android studio and Google Cloud API, we created an extension of our main app, so that users of FLEX could start the main program with their voice. This would allow the weightlifter to put the phone in front of them and monitor progress and notifications without stopping their set.
Challenges we ran into
The main challenge we faced in this project was learning how to use the equipment. Evothings, and the Arduino 101 have very limited documentation which made debugging and programming much more difficult.
Accomplishments that we're proud of
It's most of our first times working with the Arduino 101, Evothings, and gyros/accelerometers, so we're glad to have learned something and explored what was available.
What we learned
- How accelerometers, gyroscopes work!
- Evothings is very useful for quick testing of mobile apps
- smoothie.js is useful for graphs
What's next for FLEX
We want to incorporate the fitbit in our design to measure heart rate, provide haptic feedback, and be able to create an app that can get all the fitness data from the regular fitbit applications.
By adding in heart rate, we'll be able to track how intense the workout is based on velocity of movement and heart rate and provide warnings in both the app, and on the fitbit.
For motivation, a feature that could be implemented would be to be able to compare results to friends and track friendly competition.