Keywords

1 Introduction

In 2014 we began searching for a commercial activity tracker with an accessible data interface. We have tested devices by Fitbit, Misfit and Nike and learned that accessing your own data from the device or the corresponding web service is hard or impossible. Moreover your privacy is at risk when you don’t know what is happening with your activity data once uploaded to a web service.

Thus we have learned that users of current commercial activity trackers do not own their data and they do not have control about how their data is used by the companies. All recorded activity, motion of the users and the resulting data are stored directly to cloud servers in the USA. This data consists of motion, steps and sleeping data and tells a lot about sensitive topics like daily routines and health issues.

Therefore our goal was to develop an open hardware and open software activity tracker with focus on user experience and privacy: okinesio [5]. In the first year of the project we focused on the evaluation of existing products and hardware and later the hardware development.

2 Related Work

The following part describes a partial overview of related work (hardware and software) regarding quantified self, open hardware development and inertial measurement. There are several open hardware projects in the area of motion analysis and quantified self in development. We are building on top of the Arduino [6] platform for hardware development. Thanks to the Arduino project there is a vast number of microcontroller boards for different purposes, different PCB sizes featuring different Atmel [18] microchips. We are building on Leah Buechley’s Arduino Lilypad [7] open hardware design. MbientLab’s Metawear [9] is a wireless sensing platform providing temperature, accelerometer, gyroscope, barometer, light and temperature sensors plus a Bluetooth LE interface and API for rapid development. Angel Sensor [10] provides an open protocol wristband for mobile health tracking heart rate, skin temperature, steps, sleep quality, calories, acceleration and orientation. Hardware and algorithms for counting steps from accelerometers (pedometer) were proposed by Neil Zhao [1], UkJae Ryu et al. [2] and Jim Scarlett [3]. Bosch Sensortec’s BMI160 [4] integrated similar algorithms in a small and low power inertial measurement unit that provides accurate acceleration and angular rate (gyroscopic) measurement from a triaxial accelerometer and a triaxial gyroscope. Until 2013 OpenYou [11] was a community platform for reverse engineering and developing inofficial APIs to activity trackers and motion platforms like Fitbit and Nike Fuelband.

3 Project Overview

3.1 Evaluation of Current Hardware and Components

In order to evaluate current activity trackers we chose a set of the most popular and best selling devices from 2015: Fitbit Flex [12], Misfit Shine [13], Jawbone UP24 [14], Withings Activite Pop [15], Sony SWR10 [16], Garmin vivosmart [17]. For every tracker we had to access the step data in a different way as they each provided different APIs and also different resolution and detail. Some of them provided minute-by-minute step data, some only half hour or even only a daily summary of data sets. Jawbone and Fitbit provided the best access to detailed step data. In contrast Misfit’s and Sony’s API provided the worst access to detailed step data (at least when dealing with less like 100 steps).

We designed two different test scenarios for the evaluation of the activity trackers in order to compare our own hardware regarding accuracy. First we tested the trackers’ with a runner on an indoor race track. She took several runs wearing one tracker at a time and also ran wearing all trackers simultaneously on one arm. We always let the same person running in order to avoid errors resulting from different body height and weight. We tested walking 100 steps, walking 600 steps and running 100 steps (jogging). In order to avoid human inaccuracy we also created a simulation with a simple self designed step generator robot. This simple robot consisted of an arm moved by a servo motor (Fig. 1).

Fig. 1.
figure 1

Testing setup wearing all trackers on one arm. Simulation robot arm.

The table and graph with results (Table 1) of the runs with each 100 steps are showing the number of counted steps by the different trackers. Fitbit Flex proved to be the most reliable tracker in this series, but it also experienced weak phases in some tests. Misfit Shine only provided very poor data for analysis because the API provided no access to detailed step data for a run of 100 steps. Therefore it is not suitable for this kind of test. Jawbone UP24 seems to be an excellent tracking device in our test setup. It is accurate and provides access to step data grouped by moves (like one activity). Withings Activite Pop proved to be a good tracker but during the tests it sometimes generated unreliable results, that maybe seemed to be a matter of unstable measurement due to outer circumstances. Garmin vivosmart is also a good tracker regarding accuracy but sadly it does not provide detailed step data (only step summary every 15 min). Luckily it features a small display where you can read the current step count after each run. Sony SWR10 claims to detect activities automatically, but it often did not catch short activities (like 100 steps) or missed steps when it detected activities. Our own okinesio prototype hardware did well in the tests. Small inaccuracies while counting steps resulted from a lack of calibration. Unlike commercial trackers we didn’t implement the runner’s height, weight and step length into the measurement, yet.

Table 1. 100 steps (jogging) simultaneously

3.2 Hardware Development

Our first prototype simply consisted of a Sparkfun Arduino Micro and Analog Devices ADXL362 accelerometer. We were calculating steps according to Neil Zhao’s [1] pedometer algorithm from the ADXL362 accelerometer’s x, y and z values. We were not happy about the accuracy, the CPU load and the battery drainage of this approach. With Bosch Sensortec’s BMI160 [4] we found a small and low power inertial measurement chip with integrated algorithms for counting steps and access to raw accelerometer and gyroscope data. In order to evaluate this chip we designed and produced a breakout board. Hence the second prototype was built again with the Sparkfun Arduino Micro and our new BMI160 breakout board. The testing results (Table 1) from the evaluation of several commercial activity trackers and our prototype were good. The performance of our prototype was nearly par with the commercial ones.

Fig. 2.
figure 2

From prototype to assembled board

Consequently we decided to merge our prototype’s components into an own custom designed PCB. We build on top of Leah Buechley’s Arduino Lilypad USB [7] open hardware design featuring Atmel’s ATMEGA32U4 microcontroller since it fit our idea regarding size and performance and voltage base (3.3v). We modified the board layout from a round outline (Lilypad) to a rectangular one. The size of our board fits around a CR2032 coin cell battery that drives the okinesio board. Coin cells are also used in Misfit’s and Withings’ activity trackers. The resulting PCB was produced by Fritzing Fab [8]. In our lab we assembled the components (processor, inertial sensor, clock, ...) in a re-flow oven. Therefore we designed and laser-cut a masking stencil from Mylar foil for applying solder paste on the PCB. Finally we flashed the okinesio board with the Arduino Lilypad firmware (Fig. 2).

4 Lessons Learned

First and all we’ve learned that for designers in times of open hardware it’s possible to develop professional quality hardware for activity tracking. With open hardware the design and production process of electronic devices is a remix. On the software side we recognized that currently there is no standard interface to commercial activity trackers data. Even if the data is accessible it may be of different resolution and quality. During our evaluation we have learned that some trackers may might lack accuracy when they are not placed directly at the wrist but slightly above. During the production of the PCB there are some obstacles to avoid. Cutting stencils with a vinyl plotter might work for larger pads. But due to the size of the blade it does not really work well for smaller pads like for QFN packages with a pitch of 0.5 mm or less. Applying too much or too little solder paste may have negative results, the height of our Mylar foil with 0,125 mm seemed quite fitting, if the stencil was well made.

5 Conclusion and Future Work

During the second year of our project we will finish our hardware design, design our case and develop the software for iOS and Android. Currently we are transmitting data from the board to the phones via audio jack and USB. Later we will work on a prototype with Bluetooth LE, too. The final hardware design and specification and the software will be open sourced, soon. During the next month we will enhance our testing robot and test different industrial robots for the simulation task.