OpenBCI_GUI is the cross platform application for the OpenBCI Cyton and Ganglion. Tested on Mac, Windows and Ubuntu/Mint Linux. Ganglion requires some extra configuration on Linux/Windows.
HTML Java Processing CSS Python JavaScript



Provide a stable and powerful interface for any OpenBCI device

Stories in Ready


First and foremost, Welcome! 🎉 Willkommen! 🎊 Bienvenue! 🎈🎈🎈

Thank you for visiting the OpenBCI GUI repository.

This document (the README file) is a hub to give you some information about the project. Jump straight to one of the sections below, or just scroll down to find out more.

What are we doing?

The problem

  • OpenBCI device owners want to visualize their brainwaves!
  • Many of the researchers, hackers and students alike who purchase OpenBCI devices want to use them to acquire data as soon as their device arrives.
  • Users use macOS, Windows and Linux to acquire data
  • Users want to filter incoming data in real time
  • Users want to make their own experiments to test their awesome theories or duplicate state of the art research at home!
  • Users struggle to get prerequisites properly installed to get data on their own from OpenBCI Cyton and Ganglion.
  • Users want to stream data into their own custom applications such as MATLAB.

So, if even the very best researchers and hackers buy OpenBCI, there is still a lot of work needed to be done to visualize the data.

The solution

The OpenBCI GUI will:

  • Visualize data from every OpenBCI device: Ganglion, Cyton, Cyton with Daisy, and the WiFi Shield
  • Run as a native application on macOS, Windows, and Linux.
  • Provide filters and other data processing tools to quickly clean raw data in real time
  • Provide a networking system to move data out of GUI into other apps over UDP, OSC, LSL, and Serial.
  • Provide a widget framework that allows users to create their own experiments.
  • Provide the ability to output data into a saved file for later offline processing.

Using the OpenBCI GUI allows you, the user, to quickly visualize adn use your OpenBCI device. Further it should allow you to build on our powerful framework to implement your own great ideas!

Who are we?

Mainly, we are OpenBCI. The original code writer was Chip Audette, along with Conor Russomanno and Joel Murphy. Currently AJ Keller is a main contributor to moving the GUI in a more stable direction. Wang Shu, Gabe, Colin and many other contractors/interns have contributed valuable code and widgets!

What do we need?

You! In whatever way you can help.

We need expertise in programming, user experience, software sustainability, documentation and technical writing and project management.

We'd love your feedback along the way.

Our primary goal is to provide a stable and powerful interface for any OpenBCI device, and we're excited to support the professional development of any and all of our contributors. If you're looking to learn to code, try out working collaboratively, or translate you skills to the digital domain, we're here to help.

Get involved

If you think you can help in any of the areas listed above (and we bet you can) or in any of the many areas that we haven't yet thought of (and here we're sure you can) then please check out our contributors' guidelines and our roadmap.

Please note that it's very important to us that we maintain a positive and supportive environment for everyone who wants to participate. When you join us we ask that you follow our code of conduct in all interactions both on and offline.

Contact us

If you want to report a problem or suggest an enhancement we'd love for you to open an issue at this github repository because then we can get right on it. But you can also contact AJ by email (pushtheworldllc AT gmail DOT com) or on twitter.

Find out more

You might be interested in:

And of course, you'll want to know our:

Thank you

Thank you so much (Danke schön! Merci beaucoup!) for visiting the project and we do hope that you'll join us on this amazing journey to provide a stable and powerful interface for any OpenBCI device.


Follow the guide to Run the OpenBCI GUI From Processing IDE. If you find issues in the guide, please suggest changes!


If you find your self saying: When I run the OpenBCI UI from Processing on my Mac I don’t see the Ganglion But from the OpenBCI App (real one, not from the code), it works. I feel like I need to authorize Processing to use Bluetooth… it that makes any sense at all

Please follow these instructions for getting the critical piece of software called the OpenBCI HUB Mac/Linux Windows. Thanks and happy hacking!