Design

High Level Design

The high level design of this project is very simple. In large, its broken into three parts, the wearable device, the intermediate device (the mobile device) and the webserver. Each patient is given two wearable device, one for each foot. These devices are a series of force sensative resistors, a gyroscope, and a triple axis accelerometer connected to a single microcontroller. This wearable device records various pieces of data from around the foot when the patient moves. It records things such as different pressure points, speed, and stride. As the information comes in, it is stored locally on a SD card. The wearable device is intended to be as modular as possible. Therefore, the various sensors use standard interfaces such as SPI, I2C and Analog. On a regular interval, the wearable device will transmit that stored data, via BlueTooth to the intermediate device.


The mobile device controls is how the user interacts with the wearable device. This is done through a series of commands. In order to standardize all commands, a special Bluetooth packet is sent for every command. Each packet is built to be able to hold an undetermined amount of data inside. As the intermediate device recieves data, it stores that data locally. When the device has a WiFi connection, it will begin to offload that data to a webserver.


The webserver than stores the data in a database to for ease of accesses. The webserver also will do some basic analysis on that data, and can provide feedback to the user through any web browser.

Documentation

Technology Feasibility
Requirements
Design Document
Testing Plan
UGRADS Presentation
UGRADS Poster

Tools

Languages: C, Java

Database: PostgreSQL

Wearable Device Hardware

Teensy 3.2 Microcontroller
FlexiForce A201 Sensors
Polymer Lithium Ion Battery - 850mAh
LiPo Charger Basic - Micro-USB
Triple Axis Accelerometer Breakout
microSD Transflash Breakout

Mobile Device Hardware

BLU Energy X Plus Smartphone
SanDisk Ultra 32GB microSDHC UHS-I Card