We've all been told by our parents to "stop slouching" or "straighten up!" Good posture can be the difference in your health- a healthy spine, more confidence, better breathing, and much more. Bad posture can lead to permanent spinal damage and deformation, especially in developing teens. As students ourselves, we often carry around heavy backpacks and are in the highest risk population. However, there is no commercially available solution to this so we created the wearable device Positure. It attaches onto your backpack strap, and the Android app provides an easy way of knowing how good (or bad) your posture is.
What it does
The wearable device contains an inertial measurement unit which is used to calculate the angle of elevation or depression from your shoulders. The data is then sent to an online database and can be accessed through an Android app. The app provides real-time feedback about whether you're in a "good" or "bad" posture.
How we built it
We used the Arduino IDE to code the nodeMCU to read data from IMU. The nodeMCU broadcasts data to Google Firebase, which is then read from Android app created using Android studio.
Challenges we ran into
IMU contains three different sensors, and we spent most of our time understanding the sensor fusion technique (MadgwickQuaternion / MahonyQuaternion). In addition, getting the right calibration values for the magnetometer was critical to prevent sensor drift with our inexpensive MPU9250. Trying to program a NodeMCU to push the sensor data onto a web-server over wi-fi and retrieve it from an Android app was a challenge, since it was a first time for all the team members as we knew nothing about Internet protocols and etc. We had a lot of difficulty gauging what is the best option for sensor data display and manipulation.
Accomplishments that we're proud of
We were able to accomplish the sensor fusion technique and compute the absolute yaw, pitch, and roll angles with a recreational sensor. Furthermore, we were able to push real-time data onto the cloud and have the app display the posture feedback to the user wearing our device!
What we learned
We learned how to use 9DOF IMU, IoT microcontroller, and basic web API and app creation through Google Firebase and Android Studio.
What's next for Positure
In future development, we would store the sensor data permanently onto the cloud service. Then, the stored data can be used for further analysis of one's habitual posture. However, to gain any reliable insight to one's actual spinal health condition, a more sophisticated sensor will be needed with more powerful and smaller MCU. Switching over to low-energy Bluetooth transmission will potentially allow a direct wearable on the body that the user can use ALL THE TIME.