Inspiration
Our team drew inspiration for this project from a careful analysis of the effects of poor running technique on the frequency of injuries in long-distance runners. We thought that by giving users a relatively simple way to very accurately analyze and give data on the mechanics behind their running, runners using our app interface would gain amazing insights into their shortfalls in form (using a relatively cheap system!).
What it does
Our project combines hardware and software in an efficient manner to produce data on your phone measured by external sensors. As a primary step toward further developing our project, we wired up touch sensors at different parts of the foot in order to count the number of times a runner was striking on various parts of his foot during a single run. We also include a "Trends" tab in our app that tracks data across many months and analyzes how one's running form has changed over time. Our app also provides the ability to add multiple devices to track at once, as a way of accounting for future sensors being introduced to the system.
How we built it
The main functionality lies in the Arduino UNO and the circuit. We essentially wired up three touch sensors, one to be placed on the heel of the foot, one on the sole, and one on the front ball of the foot near the toes. We then soldered and programmed the Arduino to read data from the sensors in a certain pattern (as described below). We then developed an app interface to take the data gathered from multiple sensors hooked up to the Arduino and create charts out of these data.
Challenges we ran into
Surprisingly enough, the main challenge was coding the Arduino in such a way that it only gave us data values once per step. If force were applied to multiple sensors during one step, for instance, which is most likely to be the case, we had to figure out a way to deal with the fact that we should only take the first measurement as our input data. Our situation was further complicated by the fact that MLH Hardware only had a toggling touch switch instead of a simple touch sensor, meaning we had to continuously check not whether the button had been pressed, but whether it's state had changed. We also ran into the challenge of connecting the Arduino to the iOS app, in order to transfer the data points we found from our Arduino to a form that can be read in and then graphed by the app, something we are still trying to work out.
Accomplishments that we're proud of
Coding both the Arduino and the iOS app was extremely time-consuming, and involved. We were mostly proud of the lack of distraction that occurred during those time periods during these activities. Also, modeling our app and simply coming up with the idea were honestly pretty rewarding in and of themselves.
What we learned
We learned how to code the Arduino in much higher levels than any of us had ever experienced tinkering with Arduino in the past, and how to implement scrollable views in our iOS app using XCode. Perhaps the main thing we learned, however, was how important good teamwork and a fun group was in making Hacktech a more enjoyable experience.
What's next for Run Right
We want to take this further by learning the required features of arduino and xcode and implementing it in our app. We want to use this project in our daily lives for which we will have to replace the sensors as touch sensors are not adequate, and instead use force sensors which was not available to us at this hackathon. We also want to add a few more devices to our app, to check the pressure on the knee while running, etc.
Log in or sign up for Devpost to join the conversation.