/unisensors-band2

Sensor logging for Microsoft Band 2

Primary LanguageJava

Band 2 Sensor Monitor

Sensor information

Sensor Output Sampling rate Additional information
Galvanic Skin Response (GSR) 200ms Defaults to 340330 kΩ
Heart rate (HR) bpm, quality Event based Defaults to somewhere around 75. Quality (0 or 1) signifies reading reliability. Logging format: hr;quality
Inter-beat interval (RR) seconds Event based Time between QRS complexes, can be used to calculate heart rate.
https://courses.kcumb.edu/physio/ecg%20primer/normecgcalcs.htm
Gyroscope (GYRO) acceleration, angular velocity 16ms Logging format: ax;ay;az;vx;vy;vz
Accelerometer (ACC) acceleration 16ms Logging format: ax;ay;az
Barometer (BARO) mBar, ºC ~1s Pressure readings seem to jump quite a bit.
Logging format: pressure;temperature
Ambient light (AMBIENT) lux ~500ms Sensor is on the same side with the display, not facing the skin
UV Sensor (UV) level (0-6), average today Event based This sensor has very coarse accuracy and reports in levels.
Logging format: lvl;avg
Skin temperature (SKIN) ºC ~30s Not same as barometer. Please note the slow sampling rate.
Altimeter (ALTI) rate in centimeters ~1s Use barometer for more extensive readings.

Logging and format

Logfiles are stored under the folder Band2Monitor in device's main storage. For every session, you will be prompted a session/subfolder name. All logfiles can then be found under this subfolder (/Band2Monitor/<Subfolder>/). Please refer to shorthand names listed above (GSR, HR...) when looking for a specific logfile.

Format: Every row in a logfile begins with a timestamp (Epoch time) and is delimited by semicolons.

Build instructions

  1. Download Android Studio: https://developer.android.com/studio/index.html
  2. Use SDK Manager to download tools and platforms: https://developer.android.com/studio/intro/update.html
  3. Import Band 2 project into the IDE
  4. Let Gradle synchronize project dependencies
  5. Build and run on an emulator or your device