Posey: BLE-enabled motion tracking
Biomedical research could greatly benefit from compact, wearable, inertial measurement units (IMUs). However, commercial solutions are typically expensive and their operation is closed-source and inflexible. Building a DIY solution with off-the-shelf components means assembling relatively bulky breakout boards and microcontrollers to get a flexible solution to meet the needs of your research. The Posey project addresses this gap with a research-ready IMU sensor suite featuring multi-device operation, on-board logging, and Bluetooth Low Energy (BLE) connectivity.
Here are some of the key features:
- open-source hardware, firmware, and command-line tools;
- three small form factors: ring, watch, and waist-mounted hub;
- compact design (the smallest board is 25 x 12.5 mm);
- BLE connectivity for wireless data transmission; and
- on-board battery charging.
See some highlights in the gallery below. The Posey hardware, firmware, and command line tools can be found on GitHub.
The Posey project was born out of a collaboration between CMU’s Soft Machines Lab and Virginia Tech’s Assistive Robotics Lab. Sensors would be used to continuously track stroke patients’ movements during therapy sessions and daily activities, allowing researchers to assess rehabilitation progress, identify weaknesses, and personalize treatment. The goal was to reduce recovery time and increase restored function.
For this work, the primary objective was to design a compact, rechargable sensor that integrated a microcontroller, IMU, lithium-polymer battery, and Bluetooth antenna into a form factor small enough to sit comfortably on a finger. I aimed to build a device that was compact, precise, and long-lasting. This compact design, necessary for a finger-mounted device, also broadens its applicability to other research projects. One example is a new collaboration investigating the use of multiple head- and neck-worn motion trackers that provide data to a robotic feeding assistant, hopefully allowing researchers to enhance its performance.
The development process was rife with challenges. Miniaturization posed a significant hurdle, requiring careful PCB layout and enclosure design to maintain radio performance within the confines of a finger-sized device. As I found out, there are many ways to cripple radio performance with uninformed design choices. Multi-device connectivity and BLE stack performance across operating systems were also challenges, and the primary drivers for the design of a hub unit. The hub connects to all peripheral sensors to log all sensor data to flash for download at after a study. It also logs Bluetooth signal strength for all peripherals to improve pose estimates and scans for iBeacon devices for coarse localization in the study area. The NORA-B126 module was chosen because it includes a power amplifier and low-noise amplifier on the RF front-end for more reliable BLE connections.
Using the hub device for sensor aggregation was an improvement that enabled the use of a coded physical link layer to boost the signal integrity and supported the full BLE bandwidth, neither of which is typically possible on a commodity laptop. However, it requires sufficient storage capacity which becomes more challenging with more sensors, higher data rates, or longer study durations. To resolve these issues, I extended the hub firmware to instead work on a Nordic Thingy:53 (or similar platform), acting as a BLE to serial-over-USB bridge, resolving the OS- and device-dependent performance.
Researchers interested in using Posey for their work can access the full hardware designs and all software and firmware in the SML-Posey GitHub repository. I welcome inquiries and would love to hear about new uses for Posey!