Place of Publication
IEEE INTERNET OF THINGS JOURNAL
As wearable devices become ubiquitous, there will be an increased demand for platforms that allow engineers and researchers to quickly prototype and evaluate new wearable devices. However, many of these platforms require that the hardware be configured before the code is written, thereby limiting the programmer to the limitations of the hardware. In this paper, we present a platform that allows researchers and engineers to quickly prototype new wearable devices using a code-first approach. This approach allows software developers to create new prototypes by first writing the code that the prototype is required to run. Once the code has been written, the hardware that is required to run the application can be generated by analyzing the code that the software developer has specified. This code-first approach is possible because of the system's architecture which is comprised of both a hardware and software component. The hardware component consists of a main board with four expansion ports, while the software platform is a modular middleware which consists of a collection of stateless libraries that abstract each hardware module. These modular abstractions allow us to synthesize the hardware configuration from the software definition. We evaluated our design using it to prototype three wearable devices: 1) an environmental exposure monitoring smartwatch; 2) an infrared indoor localization system; and 3) a step counter.
Graham, Daniel and Zhou, Gang, Prototyping Wearables: A Code-First Approach to the Design of Embedded Systems (2016).