Inspiration
Our team member struggled to stay motivated to do at home physiotherapy after surgery because he could not see results. He would always forget the correct ROM for specific movements and would struggle to keep his movements steady and stable. We wanted to create something that can help alleviate this issue.
What it does
Tracks the movement at a joint and a stationary section of the body, and uses this data to display your stability and range of motion scores. We then generate a graph that displays spikes of your completed reps, shows how stable you were during the movements, displays the number of reps, and how long each rep took. We also display a score for how stable and consistent your reps are.
How we built it
Setup the Platformio IDE in vscode and initialized a project. Used the ADC control pins, PWM control pins, and I2C to communicate with a flex sensor, gyroscope, and speaker. This then output "flex" data that is used to interpret ROM, position data from the gyroscope that is used to interpret stability, and a state machine that tracks reps and plays a successful rep sound or unsuccessful rep sound. This data is printed to the terminal and then scraped using a python file and converted to a .csv file. At this point
Challenges we ran into
Configuring the gyroscope registers, linking all dependencies in the flexAPI file, getting all our sliders representing data to be accurate and translating raw data into filtered output, making our front end interactive and accessible/easily used. Overall challenging but smooth, quite time consuming.
Accomplishments that we're proud of
Being able to generate our own data and use this for our project. We are not using any LLM's as we want this data to remain private for patient and healthcare provider. This also updates in realtime, and we are very proud that we were able to integrate a full stack hardware and software platform into a working product, starting from raw sensor data and turning it into useful graphs.
What we learned
How to use fast API, learned about embedded systems, full stack robotics development, creating a project that involved compiling 5 different languages. We also learned debugging full stack files that interact with each other, and simple prompt engineering hacks to make LLM outputs more helpful. We also learned how to usefully interface hardware and software in a way that is clear and easy to understand.
What's next for safeFlex
Ideally our product would be simplified to a single, sleek design that can be easily applied to any muscle with ease. We would also offer more data such as positioning and contraction strength that would be displayed to provide feedback to the user in real time
Log in or sign up for Devpost to join the conversation.