Monday, January 11, 2016

Project - Biofeedback EEG Mindflex to MindWaveMobile Headset

Converting a Mindflex to a MindWaveMobile Headset

This basically involves adding a Bluetooth serial transmitter (and configuring it) to the Mindflex Headset and changing some components on the TGAM1 board (the board that acquires the EEG data).

This ended up being a bit of an adventure – even after a good deal of research (reading datasheet's very carefully) and reviewing other peoples tutorials of similar hacks. In the end, it took about a week of part time research on components, Bluetooth (profiles, module boards, communication protocols), TGAM1 board (communication protocols, identifying board connection points, hardware settings etc.). Presently, I have a fully functional headset that is recognized by Neurosky's MindWaveMobile software as a MindWave Mobile Headset.

Hardware:

  • Mindflex Headset ($10-20 on ebay)
  • HC-06 Bluetooth Slave Module (that communicates with Serial Port Profile (SPP))
    • these are between $5-10 on Amazon or Ebay (cheaper in quantity, or if you are willing to wait, from China)
    • should be able to use an HC-05 also (connections and configurations a little different – HC-05 can be configured either as a Master or a Slave module – unlike HC-06 which is only one or the other)
    • I'm a noob concerning Bluetooth: protocols, host modes, etc.
  • 10k resistor (pull up to set TGAM board to 57600 baud, ¼ or 1/8 watt)
  • Hookup wire

Tools:

  • Soldering iron (and solder, of course)
  • Multi-Tester/VOMeter (non-essential - mainly to verify connections)
  • Magnifier (non-essential - to see TGAM1 board pins and labels clearly)
  • 5V to 3.3V Level Shifter (essential if using an Arduino board to set up the Bluetooth module, non-essential otherwise)
  • Some type of USB to TTL Serial Converter (for setting up Bluetooth module board)
    Some Options for Setting Up HC-06 Module
      • Only need 4 pins (Power, GND, TX, RX)
         
    • Adafruit's Console Cable - USB to TTL Serial Cable - Debug / Console Cable https://www.adafruit.com/product/954.There are four wires:
      • red (power)
      • black (GND)
      • white (RX) into USB port
      • green (TX) out of the USB port.
        • The power pin provides the 5V @ 500mA direct from the USB port and the RX/TX pins are 3.3V level for interfacing with the most common 3.3V logic level chipsets.
      • Initially, this is what I was using (at first it was working through a terminal program using serial communication – then it just stopped working. It turns out I need a newer chipset for it to work correctly on Windows 10)
         
    • BusPirate – this should work with no problem when combined with a terminal program (Teraterm, Putty, etc) in serial mode
       
    • Arduino Board with USB connection
      • Software Serial sketch
        • This is what I ended up using and it worked fine – though you do need to upload the sketch a few times:
          • Change baud rate of module
          • change software serial baud rate – reload
          • etc.

Here are a couple of screen shots of the headset working with a couple of applications:


 I'll post a full write up of this build soon.