An Open Source Project for Health/Fitness/Physiology Data Aggregation/Logging & Sharing With .Net Gadgeteer

Some of you may have seen the recent issue on Biosensing and Hacking Your Body (Electrical) Measurement in Issue 29 of Make Magazine, others may have purchased and experimented with Health/and Fitness Appliances like Fitbit, the Zeo Sleep Monitor, Polar Heart Rate Sensors, Seeedstudios Pulse Oximeter for the Gadgeteer, or EEG Headgear from Neurosky and Emotiv.
Until now many of these devices have delivered their health and fitness information only to Silo Applications, on the Web a PC or Smart Phone. I am proposing an Open Source Project for the .Net Gadgeteer which could log all data from both DIY Analog electrophysiological Sensors (like GSR, or EMG, or Heart Rate) and Digital Appliances available to the Quantified Self/Self Monitoring Community. I believe that the availability of an Open Source Data Aggregator would benefit both the hobbyist community, all those interested in Digital Health and at the same time point out all of the capabilities of .Net Gadgeteer for serious protyping and development.

The initial functionality of a System built out of Gadgeteer Hardware and Software Components might include:

  1. To collect data from Physiological Sensors (e.g., GSR,EEG,Seeed Studio’s Pulse Ox Sensor) via both Analog and Serial/Digital Data Ports

  2. To graph that Data On An Oscilloscope Like Display (At Least Initially On The T35 LCD perhaps some time in the future on a Tablet/or Smart Phone-like Device.

  3. To Time Stamp Data via the Real-Time Clock Calls In Gadgeteer/.Net Micro

  4. To record data in some standard format (perhaps EDF+ the format Sleep Labs and European Brain Research Labs Use and which was mentioned in a Circuit Cellar Article for EEG Data Storage).

  5. To upload data to an Internet of Things Site like Pachube or NIMBITS for further analysis and remote retrieval and/or display).

I became interested in this project as a result of research I did many years ago on Eye Tracking while in Graduate School and an article I co-authored with Sean Montgomery in Issue 26 of Make Magazine
I have some additional documents that I presented on such an Open Source Aggregator Concept in PDF format that I can share with interested others.

I would like to invite all .Net Gadgeteer Makers to participate in this project first by posting on this forum and then participating in the project and sharing thoughts on a wiki to be established for this purpose.

Thank You
–Ira Laefsky


This project, Open Health & Fitness Data Aggregator, provided stimulus and support for an experiment using the Neurosky electroencephalograph. Ira Laefsky provided the stimulus and Neurosky provided their device. I captured the output of the Neurosky sensor and used it to control a .NET Gadgeteer device.

In this scenario a windows console application receives the data from the Neurosky Think Gear Connector and sorts it by categories of waves. Each time the signal in a given band reaches an arbitrary level defined by my application, a switch statement sends a request to a web service running on the .NET Gadgeteer device. The web event handler on the device takes action determined by the type of wave. This code scenario could be used control any kind of electrical circuit or device actuator.
For the details of this experiment, see:

Very cool Mike!

I got back from Canada Tuesday and my set was waiting for me. I will be experimenting with it this weekend!

Very excited about it!

Next thing is to identify wave-form states. Per Charalampos Doukas: "This is exactly a typical pattern recognition problem! A common way of addressing the problem would be to generate annotated data:

You define some mental states, like ‘focused’, ‘unfocused’, ‘calm’, ‘concentrated’, etc. (focus can be related to staring an object and concentrated to thinking something intensively). Then you try to reproduce such mental states while at the same time recording the signals for each case separately. Then various classification algorithms can do their magic and hopefully can create a train model that can predict such a mental state from EEG data."

Hmmm… Having problems pairing with it at the moment.

I was going to buy an Emotiv EPOC neuroheadset ( think I still will), but for a hundred bucks heck ya I’ll order a Mindwave. It appears to use Bluetooth v3.0 as its communication medium? Other then the Mindwave itself is there anything else that is needed?

Given there is an ear clip, I’d be real happy to see pulse rate included in the data collected, does it?


Got mine working!

@ Duke Nukem

The only thing you will need is 1 AAA battery.

The Zeo Sleep Monitor is also something that interests me, anyone tried it?

Which is better for Gadgeteer type work the Mindwave or the Mindset (what is the difference)? I’m think the Mindwave, but to be sure I have to ask.

to answer my own question from

The MindSet uses bluetooth to transmit data, and includes a bluetooth dongle for computers without a built in bluetooth receiver. The MindWave uses RF to transmit data, and includes a RF USB dongle compatible with both Mac and Windows.

The MindSet also includes bluetooth stereo audio input, has a microphone, and can be used as a hands free device. The MindWave does not include these features, but as a tradeoff, requires a smaller footprint.

Any applications you develop for the MindWave will work with the MindSet, and vice versa. Both the MindSet and the MindWave use identical communication protocols. Therefore, all applications, and the Development Tools, work with the both devices.

Mindwave uses RF (will need a RF module to work with Gadgeteer?)
Mindset uses Bluetooth (should be able to get it working with existing bluetooth module?)

The Mindwave Neuroscience frequency bands: 0.5 to 50hz
The Mindset Neuroscience frequency bands: 3 to 50hz

That hurts as I’d like to get the MindSet so I can play sound and allow audio feedback of events, but I don’t want to lose the lower Neuroscience frequencies (Delta waves 0.5 - 2 hz or as NeuroSky has it as 1 - 3 hz).


Two important resources in terms of quantied health and fitness data although not specific to the .Net Gadgeteer platform, Data Logging, and Internet of Things are the blog and the Web Site While I believe that there is a specific need to read, decode and log health/fitness/and physiology data coming both from Appliances like Neurosky,Zeo and Basis as well as
self-built analog sensors such as GSR, there is a much larger movement of people who have an interest in self tracking and who are hard at working decoding the “Data Silos” of these Appliances.

–Ira Laefsky

(never mind the missing image at the beginning. I can’t believe how many companies 404 their pages, images, etc. a year or two later)


@ pete I saw that your not the only one to wake up with a dented forehead from using the Zoe and while it seems to have a lot of fans, I can’t help but think the 90 day life span of the sensors was more a marketing feature then a design requirement, which really stops me from getting a Zoe which is too bad as it might be interesting to try as I don’t sleep very much as being Scottish I live by the saying that ‘Rest is for the Dead’.

I also found it odd that users of one blood pressure monitor were hugely upset about their data being uploaded to Microsoft’s Healthvault but yet Zeo users didn’t even blink about their sleeping brain waves being uploaded to their site. Users are funny beasts sometimes. I’d trust Microsoft far more then I’d trust Zeo with my data.

I do wish since the Mindwave clips to the ear that it picked up pulse from the ear, and as soon as Gadgeteer has a way to talk to it, I’ll grab one as I’d love to build a portable Gadgeteer unit for Ambulatory EEG type studies.

Companies react in widely differing ways about allowing a user to share information from their own
(purchased) Health and Fitness Devices – Check this out:

@ Pete, is there anything you haven’t blogged about? :wink: