The problem
People of all ages want a good posture. It make them healthier, more attractive, more resilient and more productive. Bad posture on other side has a lot of negative side effects, including back and neck pain, less oxygen intake. But it is not an easy task to fix it. I personally struggle with it from my childhood.
I've tried commercial products, I'm doing a lot of core exercises, yoga. I've got some small improvements, but I still can't get where I want it to be.
Concept
I think technology and community can help to improve my posture. Here is how my solution can apply orthopedic recommendations for better posture:
- Be conscious of your posture
- Arduino Nano 33 IoT (MCU) has capability to collect position information from 6 axis IMU sensor, analyze it using a neural model, recognize activity and communicate results using BLE to a smartphone app to provide a real-time feedback to a human.
- Get up and move often
- MCU will detect lack of movements for an extended period of time and send a notification to the app
- Get breaks to stretch
- App will recommend stretching and MCU will measure compliance to the recommendation and publish it to the app
I've done some market research in this field. There are proprietary devices for posture correction. Some of them out of support. Some of them can share some data. But all of them not allow you to improve them. I'm going to publish the project under open source license, so it will allow community to improve it over time.
And I'd like to gamify it in the future so it will be not only healthier, but it will be fun as well to improve your posture.
Project Plan
- Project Introduction
- Define target state.
- Split solution in use cases.
- Prioritize use cases and define MVP scope.
- Identify major components to support MVP.
- Identify development tools / platforms.
- Define test plan.
- MVP
- Install Arduino IDE and test the build tool-chain and a demo project.
- Implement MVP
- Perform testing.
- Build AI Model
- Install Edge Impulse CLI tools
- Collect IMU sensor data
- Train model
- Validate model
- Test model
- Edge processing
- Implement inference on MCU
- Perform testing.
- Revise solution based on test results.
- Mobile app
- Design app UX
- Build app
- Integrate with MCU over BLE
- Perform testing.
- Project evaluation
- Record demo
- Publish the project on GitHub
- Share findings
- Share future plans
Key components of the solution
- Wearable device
- Arduino Nano 33 IoT
- 6 axis IMU
- BLE system
- Battery pack
- Arduino Nano 33 IoT
- Android App
- BLE interface
- Notification widget
- Analytics dashboard
- Feedback component
Top Comments