How to use LSL in OpenBCI_GUI and how to link with MATLAB

Hi everyone. Sorry for my bad English.

In my EEG measurement experiments, I use LSL to obtain stimulus timing.
I am trying to link OpenBCI_GUI with MATLAB, but I don't know how to use it.
First, I built liblsl in MATLAB by referring to the URL on the OpenBCI official website↓.

When I started LSL in OpenBCI_GUI, I could receive it in MATLAB, so I think I built it correctly.
However, I do not know how to operate LSL from OpenBCI_GUI. I searched but could not find it.(I also looked at the official OpenBCI website, but did not find any direct instructions on how to use it.)

Could you give me specific instructions on how to use it? Or, could you point me to a website with specific instructions on how to use it?
Waiting for answers. Thank you.


  • retiututretiutut Louisiana, USA

    To start an LSL stream from the Networking Widget, simply select your data type and then click "Start LSL Stream". The LSL stream is then live and ready to be received by another application or process.

    Every data output from the GUI has been tested using LSL and Python: Though, LSL works the same in every language binding.

    You can also connect directly to OpenBCI hardware to get Live Data using the BrainFlow MATLAB binding!

    Also, here's an example screenshot of the latest GUI and an LSL stream:

    Hope this helps,

  • Hi retiutut.
    Thank you for advice!
    I have a question about the OpenBCI_GUI widget item.

    • What does Stream1~3 mean?
    • What happens if I change the Data Type?
    • What happens if I change the type of Data Type?

    Sorry for the rudimentary questions. I would appreciate your help.

  • retiututretiutut Louisiana, USA
    edited January 14

    These are three separate LSL streams. If you want to change a parameter for the stream, you would need to stop them and change them. When we start an LSL stream we have to declare certain values, such as the number of channels (done automatically in the background) and a "Type" which is then used on the receiving end to sort and classify which stream is which.

    Note: In GUI 5.1.0, you need to have the widget open that you would like to send out via Networking for the values to be non-zero. Example here is having the EMG widget open if you want to send out EMG over LSL.

Sign In or Register to comment.