This week, I worked through our IMU orientation calculations and documented a simplified approach for the design presentation. I clarified how VQF’s quaternion output can be converted into a rotation matrix to calculate each sensor’s forward/backward tilt. Comparing these angles at T3, T12, and L5 gives us upper and lower regional angle differences, which we then compare against the user’s calibrated baseline. I also outlined the calibration sequence and clarified why a stationary neutral position is sufficient when the sensors have known mounting directions (accelerometers output proper acceleration, and so in this ideal case the z-component would be +g).
Also, I expanded last week’s desktop app plan into a software block diagram showing the BLE interface, live posture display, settings manager, history view, and SQLite database. I also specified the proposed message formats in both directions. The MCU sends regional deviations, timestamps, and haptic activity through posture_update messages. The app sends angle and duration thresholds through set_thresholds, and the MCU confirms changes through settings_ack. This makes the interface concrete enough to begin development with simulated messages while keeping angle calculations and haptic decisions on the MCU.
I am on schedule with the software design work. Next week, I plan to begin the desktop app prototype using simulated MCU messages, focusing on packet parsing, live regional angle displays, and SQLite logging. I will also work simultaneously on the design report sections regarding the BLE communication and IMU orientation calculations.

