Software Installation - 32 Channels¶
This page is for detailed instructions on how to install the HackEEG software and get it running on a 32 channel system.
These instructions assume you’ve already done the HackEEG Software Installation for 8 channels and got that working.
Using a Laptop¶
HackEEG has been tested on macOS, Linux, and Windows 10. Windows 10 support is new, if you have problems, please contact the mailing list.
In the
hackeeg-driver-arduino
repository, switch to themultiboard
branch– this branch has firmware that can work with more than one HackEEG at a time:$ git checkout multiboard
Using the Arduino IDE, open the sketch
hackeeg_driver.ino
located in thehackeeg-driver-arduino
directory of the repository you cloned.Use the Arduino IDE to compile the driver and upload it to the Arduino Due board.
In the
hackeeg-client-python
repository, switch to themultiboard
branch– this branch can understand the data format that themultiboard
firmware uses:$ git checkout multiboard
In the
OpenBCI_GUI
repository, switch to thefeature/lsl-input-32-channels
branch. This branch can accept LSL input on 32 channels:$ git clone https://github.com/adamfeuer/OpenBCI_GUI.git $ cd OpenBCI_GUI $ git checkout feature/lsl-input-32-channels
Using Processing, open the
OpenBCI_GUI/OpenBCI_GUI
directory and run the sketch. The OpenBCI GUI should launch. Don’t try to connect to an LSL stream yet– the stream needs to be running before trying to connect to it.For a quick test to see if communication between the client and HackEEG boards work, you can use the command line shell to blink the blue HackEEG board lights. This will indicate whether the HackEEG board stack is communicating with the laptop.
Activate the Python virtual environment:
$ pipenv shell
Start the HackEEG shell, and use the blinkall command to blink all 4 blue HackEEG board LEDs:
$ hackeeg_shell (hackeeg) blinkall Ok (hackeeg) version v0.3.0 Ok (hackeeg) exit $
Streaming Data¶
To stream data from internal test signals, printing 2000 samples to the terminal– you will see the HackEEG blue board LED flash briefly before the data starts printing:
$ hackeeg_stream --channel-test --sps 500 --samples 2000
To stream data from internal test signals continuously and send via Lab Streaming Layer (LSL):
$ hackeeg_stream --channel-test --sps 500 --continuous --lsl
To stream data from internal test signals continuously and send via Lab Streaming Layer (LSL) without printing to the terminal:
$ hackeeg_stream --channel-test --sps 500 --continuous --lsl --quiet
To stream data continuously from electrode input on all 32 channels at 500 samples per second (SPS) at 24x gain and send via Lab Streaming Layer (LSL) without printing to the terminal. This will create four LSL streams called
EEG0
,EEG1
,EEG2
, andEEG3
:$ hackeeg_stream --sps 500 --gain 24 --continuous --lsl 4 --quiet
OpenBCI¶
Start the HackEEG LSL stream. On a 4-board system, this will create four LSL streams called
EEG0
,EEG1
,EEG2
, andEEG3
:$ hackeeg_stream --sps 500 --gain 24 --continuous --lsl 4 --quiet
To display the stream’s data, select
Live (from Lab Streaming Layer)
from the System Control Panel dialog. Choose 32 for the channel setting. Click Start Session.You should see some status messages in the console as OpenBCI GUI finds the streams and connects to them.
Click Start Data Stream