Community /

GUI v5 Release!

OpenBCI Software Team – Group Photo from June 2020

To All OpenBCI Community Members,

Thank you for choosing to work with OpenBCI technology! The OpenBCI Software Team is dedicated to improving how we connect to OpenBCI hardware, and we are pleased to announce the release of GUI v5.0.0-beta.0!

Starting in 2019, we began refining BrainFlow (see Community post for more info). We knew that this could be used to improve the GUI significantly, in terms of both speed and user experience. The OpenBCI Hub was causing issues for a number of users when getting started for the first time (crashes, errors, etc.). So, we decided to deprecate this and use BrainFlow Java binding instead. Now, when you start the GUI, it just works!

Besides replacing the Hub with the BrainFlow Java binding, we were able to increase the overall performance of the GUI by modifying the library we use to graph data (Graphica). As some of you may know, we introduced a Spectrogram widget in GUI v4.2.0. We have refined this widget even more, so use this to visualize your FFT data over time! Also, we have updated the OpenBCI Data Format (CSV) output from the GUI to look more like the output from BrainFlow. If you still need playback files made using GUI v4, you can convert these files using a Python script, found here.

As part of improving the GUI, the Software Team thought it necessary to deprecate (or phase out) some features, including the SSVEP and Focus widgets. The SSVEP widget was not tested exhaustively, and it had issues getting the flashing squares to draw correctly when the overall frame-rate was poor. The Focus widget is a different story, as it worked and looked fine. The problem is with the underlying algorithm that determines “Focus” as a ratio of Alpha to Beta waves on Fp1 and Fp2 (the forehead). This is not a reliable or researched-based method, and we would like to bring the Focus widget back to life once we implement a more reliable way to determine if users are indeed focused.

Finally, let’s talk about bug fixes! The confusing “# Chan” textfield in the Networking widget has been removed! This was mentioned by many users, and we are pleased to make streaming LSL data easier. Another common issue is that live Cyton data comes in “choppy” or in chunks. While users can still apply the FTDI Buffer Fix to reduce the latency between the Cyton and Dongle, everyone now has the option to turn on “Data Smoothing” in the GUI to account for this. When using this feature, data may take a second or two to show in the GUI, but it will look much smoother!

Again, thank you for your support, and we look forward to improving OpenBCI software so we can make BCIs fun and accessible for everyone!


– OpenBCI Software Team, June 2020

Here is a full breakdown of the changes:

UI Improvements

  • OpenBCI Data Format (CSV) Files, now includes more detailed information and data
  • GUI Playback Mode and Time Series Widget improvements
  • GUI data flow refactored
  • Live Cyton data now has Data Smoothing Filter!
  • Cyton Port manual selection displays serial ports only when a dongle is plugged in

Back-end Improvements

  • GUI now uses BrainFlow Java Binding to handle data acquisition (no need to run the Hub!)
  • GUI operates more quickly with improved data-plotting efficiency
  • Travis and Appveyor CI tests and builds added for all OS

Bug Fixes

  • Added Filter Button Label in Networking Widget
  • Synced Ganglion+WiFi Accelerometer Data
  • Removed #Chan Textfield from LSL(Lab Streaming Layer) in Networking Widget
  • Fixed LSL manual timestamping interference with LSL clock_offset correction

Deprecated Features

  • OpenBCI Hub – This is no longer required to run the GUI!
  • Old OBCI (CSV) Files – A converter will be made available
  • Presentation Mode
  • SSVEP_Beta Widget
  • Focus Widget
  • Marker Mode Widget
  • OpenBionics Widget
  • Deprecated widgets are still available in older GUI releases

Leave a Reply