Project update 2 of 15
HackEEG is designed to read your brainwaves (EEG). So how do you do that?
person with HackEEG and OpenBCI running on a laptop
One way is by streaming data from HackEEG using Lab Streaming Layer to OpenBCI GUI for visualization.
Lab Streaming Layer (LSL) is a way to exchange real-time EEG data between instruments and software. Here’s what its Github page says about it:
The lab streaming layer (LSL) is a system for the unified collection of measurement time series in research experiments that handles both the networking, time-synchronization, (near-) real-time access as well as optionally the centralized collection, viewing and disk recording of the data.
In other words, LSL is way to get data from HackEEG to lots of different EEG applications in real-time so it can analyzed, displayed, or recorded. LSL also allows you to send non-EEG data too. It’s an amazing set of software– it allows plug-and-play connection of disparate equipment and software with very little hassle. And it’s all open source!
OpenBCI GUI is a very cool program for visualizing EEG data. It’s mainly used for visualizing data from OpenBCI’s own hardware– the Cyton and Ganglion EEG ADC boards.
The software is open source, and available on OpenBCI’s Github account. It normally can’t connect to a HackEEG board, but Starcat has modified the OpenBCI GUI to take Lab Streaming Layer input. With this, you can send 8 or 16 channels of HackEEG data to OpenBCI. This is the software you see in the demo video. Here’s Starcat’s fork of OpenBCI GUI. (We hope to get these changes merged into OpenBCI’s project.)
Detailed instructions are over on the hackeeg-python-client documentation page. Here’s an overview of getting it all going. The HackEEG software is command-line only right now– in an update later this month, I’ll post a Python Qt-based GUI for doing the same thing.
./hackeeg_stream --sps 500 --continuous --lsl --quiet
If you don’t want to use OpenBCI, you can connect your own visualization or data analysis software via LSL, or access the data directly from Python.