Shelf 03 · Toolkits

The libraries underneath

Every project on this site reads a headset, moves samples somewhere and turns them into numbers. These are the libraries that do it.
Read and stream

Acquisition and streaming

★ 1,769 · C++ core

BrainFlow

One device-agnostic API for dozens of EEG, EMG and ECG boards, with bindings for Python, C#, Java, Julia and more. If a VR project supports many headsets, this is usually why.

View on GitHub
★ 785

Lab Streaming Layer

The research standard for streaming time-synchronised signals and event markers between programs and machines. Pairs with LSL4Unity on the VR side.

View on GitHub
★ 965 · MIT

OpenBCI GUI

The desktop app for Cyton and Ganglion boards: live traces, band power and a networking widget that streams over OSC, UDP or LSL without writing code.

View on GitHub
★ 780 · Python · BSD-3

muse-lsl

Streams a Muse headband over Bluetooth into Lab Streaming Layer. The quickest route from a consumer headband to research tools.

View on GitHub
★ 372 · JavaScript

Neurosity SDK

The official SDK for the Neurosity Crown, with raw EEG, focus and calm scores and trained kinesis commands.

View on GitHub
★ 56 · Python

explorepy

The Python API for Mentalab Explore devices, used by the Parkinson's VR neurofeedback project on the builds shelf.

View on GitHub
Decode and classify

Analysis and BCI frameworks

★ 3,537 · Python · BSD-3

MNE-Python

The standard Python toolkit for EEG and MEG: filtering, epochs, artefact removal, source analysis. What you reach for when band power is not enough.

View on GitHub
★ 573 · Python · GPL-2.0

MetaBCI

A full non-invasive BCI platform from Tianjin University, with datasets, decoding algorithms and stimulus presentation for SSVEP, P300 and motor imagery.

View on GitHub
★ 578 · Python

EEG-ExPy

NeuroTechX's classic EEG experiments (N170, P300, SSVEP and more) ready to run on consumer headsets. A good way to check your hardware before trusting it in VR.

View on GitHub
★ 189 · Python · MIT

Timeflux

A real-time pipeline framework for biosignals, with graphs of nodes defined in YAML. Suited to closed-loop BCI and neurofeedback.

View on GitHub
★ 34 · Python

PyNoetic

A modular, no-code framework for building EEG BCIs, from acquisition through classification.

View on GitHub
Play and feedback

Neurofeedback and creative tools

★ 410 · Python · GPL-3.0

EEGsynth

Turns live EEG, EMG and ECG into MIDI, OSC, lights and sound. Built for performances, and handy for driving anything that speaks OSC, including VRChat.

View on GitHub
★ 152 · C++

neuromore Studio

An all-in-one biofeedback suite with node-based signal design, for building neurofeedback sessions without code.

View on GitHub
★ 18 · Python

eeg_neurofeedback

Open neurofeedback for meditation that adapts to whichever popular headset you have.

View on GitHub
★ 2 · New

neurofeed

An EEG monitor and feedback program for Muse 2, Muse S and Muse Athena, with experimental Neurosity Crown support over OSC. Young and very active.

View on GitHub
Keep going

The big list

NeuroTechX's awesome-bci (1,548 stars) is the broadest curated list of BCI resources on GitHub, covering far more than VR. BCI Depo covers only the VR side.