User Experience (UX)
Check out the Device Description to understand what the device is supposed to do; the user experience is the intuitiveness and efficiency of the device's features. These are the targets:
- Manage Bluetooth Connections
- Report Raw Data (Quaternions)
- Select Rotation Type (i.e. flexion, extension, etc.)
- Select Body Region (i.e. wrist, knee, etc.)
- Record each repetition of exercise (defined as the movement between resting point and maximum point of flexibility)
- Easily add repetitions or rotation types for a given region
- "New, Open, Save, Save As, Export..." features
- Used at the start and end of a rotation session
- "Settings" features
- Allows the user to change default settings about the application
- "Help" feature
- Points user to resources on how to use application
Device Topology
Each of the EM7180_UltimateSensorFusionSolution IMUs were connected to the hub over a usb2.0 cable; although the communication was i2c, the USB cable was used because it is a common, replaceable 4 wire cable. In this configuration, the esp32 gathered data from each IMU (through an i2c mux) and transmitted it over standard Bluetooth to the windows machine running the UI.
Implementation
Bluetooth Connectivity
The user interface incorporated a .net library called 32Feet.net, which provided an API to the windows machine's Bluetooth capabilities. A wrapper was designed to allow scanning, pairing, etc. from within the application.
AES128 encryption was used to secure communication between devices.
Range of Motion Reporting and Categorization
The reporting and categorization were implemented using a table, a familiar concept. Cell (1, 1) is used to specify the body region. The rows are used for the rotation type, and the columns are used for the repetitions. This moves all the selectable data to the left of the window meaning that if the table were to grow larger than the available space (through the addition of repetitions or thinning of the window), all the selectable data would still be displayed. It also means that as the repetitions are completed they are filled in left to right--the same way English is read.
The "New, Open, Save, Save As" were implemented in the common "File, Edit, View, Help" header. Each is a dropdown to a list of further options.
The visual aspects of these features were completed, but the functionality (i.e. data processing and file modification) was never implemented.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.