Raspi NeuroSky Mindwave Mobile

If you are anything like me, you like reading your own brainwaves into your computer via bluetooth connection with one of these interesting Mindwave devices from Neurosky.

Neurosky provides some apps for examining the data, and there are some third party apps, but we would like to get the raw data from this devices via the rfcomm port on our Rasberry Pi.

With the Raspi3B, I found that none of the python or node libraries suited my Raspi. Using the C scripts from neurosky, I’ve compiled a git to assist those interested in examining and using the data for their own purposes.


Instructions are as follows.

Connecting the Nuerosky Mindwave as a bluetooth device gives a no software to handle connection error.

Firstly, find your devices ID using the bluetoothctl utility included with your Raspi:

bluetoothctl scan on devices

We connect the bluetooth Mindwave Mobile headset anyways directly to the RfComm0 port with :

sudo rfcomm bind 0 20:12:9D:56:BC:89 1

The data stream can be examined with the picocom tool:

picocom /dev/rfcomm0

Remember to wait a few seconds for the device to connect and picocom to read the bluetooth port data. The device connection can be verified by examining the Mindwave headset indicator light, which should now have turned a solid (non-blinking) blue.

Great! Now that the port connection is verified, we can simply run the parser script from the folder that houses it:

chmod +x parser ./parser

The script should print Nuersky Mindwave Mobile Headset data to the terminal.

To Edit the script, simply modify the parser.c file and recompile:

gcc -o parser parser.c

Good luck!