Brainwave Toy: The Mindflex
Having been interested in meditation, consciousness modification and the quantification and monitoring of self performance, the following webpage posted on Hack-a-day caught my attention:
After looking at the options, we decided that hacking a toy EEG would be the cheapest / fastest way to get the data we wanted. Here’s how we did it.
A toy EEG? Interesting. Very interesting. The toy of which they speak is the Mindflex, and you can find the web page for this particular toy here:
with a bit more info here:
The Mindflex uses Neurosky technology to read brainwaves. Here’s a quick excerpt from the website:
Utilizing NeuroSky’s advanced ThinkGear™ technology, Mindflex™ reads your brainwave activity with a wireless headset. Concentrate…and the ball rises on a cushion of air! Relax…and the ball descends. It’s literally mind over matter!
I managed to pick a Mindflex up for about £50 from Amazon here (plus I had a £25 gift certificate lying around, so managed to justify the price quite nicely, cheers!).
The guys over at frontiernerds grabbed the data from the Mindflex headset’s serial pins using an Arduino. After some success with this approach, I decided to test a more elegant solution. This experimentation was also born out of a desire to minimise the (already small) risk of electrocution that had so carefully been pointed out on the frontiernerds website.
Getting the data out
I found some bluetooth to serial modules on the dealextreme website – you can see them here. Fortunately these modules work with a 3.3v supply, so was able to power it straight from the headset’s power supply. I fired up a quick project in Visual Studio and tested the data stream from the headset, and it appeared to work! Unfortunately my port of the Arduino Brain Library to .NET didn’t work quite as expected.
So, the next stage of the project is an Android application to read data from the Mindflex (and optionally, a bluetooth enabled heart-rate monitor) and log the appropriate power bands to a local database, provide some nice charts and optionally log the data in real time to a remote server. I have started the coding already, and you can find the project here: