My goal this week was to determine the hardware we need for PosturePal and develop a more concrete system architecture. Our main components consist of three IMUs placed at T3, T12, and S1 to measure spinal orientation and movement, and a central controller that will process the sensor data, determine when to trigger haptic feedback, and communicate over Bluetooth with our companion software. We are heavily leaning toward the LSM6DSOX for the IMUs, and I investigated how its support for I²C and SPI, but not wireless communication, affects the rest of our design. Rather than putting a battery and wireless controller at every sensor, we plan to connect the three IMUs by thin wiring to one central hub. I also determined that a Raspberry Pi is likely unnecessarily powerful, large, and power-hungry for our application. Instead, I investigated smaller, lower-power microcontrollers/SoCs with integrated BLE, particularly the nRF52840, while keeping wireless STM32 options under consideration. The nRF52840 appears promising because it can handle our sensor processing and Bluetooth communication on a single device.
From this research, I developed a preliminary design consisting of one custom central PCB and three much smaller, identical sensor PCBs. The central PCB would contain the MCU/SoC, battery and charging circuitry, voltage regulation, sensor interfaces, potentially an I²C multiplexer, and possibly the haptic-driving circuitry. Each sensor PCB would contain an LSM6DSOX and connectors that allow a thin cable to continue along the spine between the hub, S1, T12, and T3. I also investigated several design tradeoffs that we do not want to finalize before prototyping. I²C requires fewer wires and is attractive for a wearable, while SPI avoids some addressing issues but requires more conductors. Both also require us to consider the timing differences between measurements from the three IMUs, so our current plan is to timestamp samples. I also began investigating our haptic feedback design, particularly whether localized feedback at multiple points along the spine provides a meaningful benefit over a single haptic motor. Multiple motors could provide more intuitive feedback about where the user’s posture needs correction, but would add wiring, power consumption, and potential interference with the IMU measurements. We therefore plan to test both localized and centralized haptic feedback before finalizing the design. Overall, I believe my progress is on schedule and this week significantly narrowed our hardware architecture while identifying the remaining decisions that need experimental validation.
