DIY posture monitor
thingiverse
We've noticed our son's uneven shoulders since last year. It turns out he has scoliosis with a 19-degree curve from the mid-back, as evident from the X-ray picture. There are other posture monitors available, but they all focus on leaning forward. That's not what we need. Since this project seemed doable with my existing knowledge and materials, I created this monitor in about three days through trial and error. His right shoulder is lower, so I've allowed it to have more tolerance on the left than the right tilt (the sample code attached is written accordingly), as shown in https://youtu.be/wVatEt73x_g. There may be issues with the circuit or the code, and each individual's condition is unique, so we're unsure about the impact of correcting posture with scoliosis. Use your best judgment and consult a doctor if you have any doubts. For us, everything has worked out well in the end, and our son's scoliosis has now reduced to ~10° with all the measures we've taken, as shown in the last section. I printed it with ABS plastic, but PLA or other materials should work fine as well. To ensure it is strong and not prone to breaking easily on my first prototype, I used 50% infill (and four-layer walls) and might use less if I build another one. There's a conduit within the band to allow wires to pass through. Use support with "Touching Build Plate Only," but do not use "Everywhere." The uploaded design is a thicker box because I couldn't cover the thinner box with all the messy wires I have. You can also make your own box if you prefer. I connected the ADXL345 to 5V, since mine has a voltage regulator. I used I2C due to less wiring. I left the serial connector (TX, RX, GND, DTR) connected on the Arduino for easier programming, as it wasn't drawn out in the schematics. Use hot glue to fix the serial connector; otherwise, the wires tend to break after a while. I forgot to draw out the capacitor in the schematics picture, so see http://www.learningaboutelectronics.com/Articles/Vibration-motor-circuit.php. Before turning it on every time, it needs to rest on a level surface to calibrate and offset sensor readings. You wear it around your neck, and the batteries rest on your shoulders. It works really well, and the sensitivity is good enough, but only if your kid cooperates. If the posture is tilting right or left, or leaning forward, it will beep with different tones. The more he tilts, the faster and shorter the beeps become. I uncovered the buzzer so that it's louder for recording purposes. Otherwise, we covered the buzzer with the original sticker on top, and only need a tiny audible sound to remind him. Some cheap buzzers don't seal the back, so the buzzer will be loud regardless of the front cover. You'll need to use epoxy or some solid glue to seal the back. Since I didn't have a microswitch at the time, I used a 3-pin jumper to select LED/Buzzer vs vibrator. Also, you can cover the battery tubes with some soft materials so that it feels more comfortable to wear. Materials Needed: * Arduino board * ADXL345 accelerometer module * Buzzer or coin vibrator * Jumper wires * Connectors * Soft cloth or wrapper * 1N4001 diode (when using a vibrator) * 0.1uf capacitor (when using a vibrator) * 2N222(A) transistor (when using a vibrator) * LED (plus a resistor) * Fuse * Jumper wires * Connectors Things to Improve: 1. Fine-tune the beeping/vibrating frequencies/patterns. 2. Shape/angle of the band and reduce its diameter. 3. 5V(Arduino) mixed with 3.3V(ADXL345) hook-up on the I2C (but it works with my current setup). 4. Might need a diode on the buzzer to prevent current flow back. 5. Remove built-in LEDs and enable low-power state to save power. 6. Find out the optimal battery size vs total power consumption (with buzzer < 60mA, coin vibrator < 70 mA). 7. Button or use the tap feature from ADXL345 to toggle different modes/profiles. 8. Add a vibrator and switches; I didn't have those parts at first, so I only used the buzzer and jumpers when I built it. After receiving the vibrator, I stuck the thin vibrator to the metal shield of the charging port with its backing sticker, plus some hot glue. 9. Convert the reading to the actual angle in degrees. 10. Add a Bluetooth module and an app to collect data for posture study/analysis.
With this file you will be able to print DIY posture monitor with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on DIY posture monitor.