Skip to content

svanlaug/biometrics-device

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Under Construction!

My hopes with this repo are that people will be able to build upon this work, and start quantifying their biometrics.

Improvements I need to do

  • Put in instructions how to install the required Python packages to run the Python GUI. (as soon as I manage to install them myself, it's been 3 years since I did last time) - Remarkably hard
  • Put in instructions how to build a biosignal aqusition device (the hardware), what parts are needed etc
  • Put in wisdom about biosignals
  • Put in example csv files, and put in my Matlab scripts I made to process them

Background:

I wrote my M.Sc. thesis in collaboration with SoundCloud, a company that creates an open platform that allows anyone to share and discover new music and audio. At the time, wearables were becoming increasingly available and ...

My M.Sc. thesis explored the relation between physiological signals and experienced musical emotions from a practical viewpoint. This was done in order to evaluate the feasibility of using physiological signals as input for music recommendations. For this purpose I conducted a study on 24 participants where their subjective and physiological measurements were recorded while they listened to self-selected musical stimuli. When I conducted the study, in January 2016, wearables on the market were not sparse, but their sensors however were very limited and their public API was not great. That's why, I built my own biosignal aquicsition device, to get full access to the raw data from sensors and to be able to determine the sampling frequency.

The beautiful device

Atmel Microcontroller

Atmel code is split into 3 files;

  1. Main Code.ino: Is the main file. It reads digital inputs from buttons and writes measurement data to the LCD display. It also calculates temperature from raw data from the temperature sensor.

  2. Interrupt.ino: Reads the analog inputs for Galvanic Skin Response (GSR) and pulse at specific time intervals. Calculates Interbeat Interval (IBI) as well.

  3. AllSerialHandling.ino: Controls how the data is sent over the serial link to the Python GUI.

Python GUI

The GUI

The Python GUI is split into 3 files;

  1. AtmelPythonMainProgram.py: Is the main file. It builds the user interface and writes data to a CSV file.

  2. Comunication.py: Controls the communication over serial link.

  3. Globals.py: Global variables and debug tools.

To run the Python GUI for a biosignal acquisition device:

  1. Install pySerial + all the other Python packages that is remarkably hard to do
  2. Clone the project to your computer
  3. Navigate to the folder that contains the code for the Python GUI in the terminal:
  4. Run the program: $ python AtmelPythonMainProgram.py

About

Biometrics/Affective Signals: Code to Capture and Monitor Biosignals, e.g. Heart Rate, Skin Conductance and Skin Temperature.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors