Skip to content

lambdao-dev/awesome-bci

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

202 Commits
 
 
 
 
 
 

Repository files navigation

NeuroTechEDU's Awesome List of BCI-related Resources

Awesome

This is a fork of NeuroTechX's list of tools, resources, and learning materials related to Brain-Computer Interfaces (BCI). The list is maintained by the NeuroTechX community.

This fork is edited by Lambdao to help separate entries based on whether they are free/open-source or commercial/closed-source. Refer to the original version for the original list.

Table of Contents

Software

Linux compatibility markers: 🐧 native Linux support, 🍷 confirmed working through Wine, 💀 confirmed not working on Linux. GNU Octave compatibility markers for MATLAB toolboxes: ⭕ confirmed support, ⚠️ partial/caveated support, ❔ unknown or not clearly documented, ⛔ likely MATLAB-only.

BCI Experiment Design and Analysis

These applications help you design BCI experiments, run them, collect data, and analyze the results.

Free/open-source software:

  • 🐧 EEG-ExPy: Free & Open-Source (FOSS) Python library for EEG & experiment design, recording, and analysis. Maintained by the EEG-ExPy team within NeuroTechX. CNS2024 Poster
  • 🐧 OpenViBE (source): A software platform dedicated to designing, testing, and using Brain-Computer Interfaces, maintained by the OpenViBE Consortium.
  • 🐧 BCI2000 (source): Software suite with GUI based on C++ for data acquisition, stimulus presentation, and brain monitoring applications.
  • 🐧 Brainstorm (source): Collaborative, open-source application dedicated to the analysis of brain recordings: MEG, EEG, fNIRS, ECoG, depth electrodes and multiunit electrophysiology.
  • 🍷 BrainBay (source): Bio- and neurofeedback application working with various hardware frameworks including OpenBCI/OpenEEG.
  • 🐧 MNE (source): MNE-Python is an open-source Python module for processing, analysis, and visualization of functional neuroimaging data (EEG, MEG, sEEG, ECoG, and fNIRS). The tools suite includes interoperable packages in Python, MATLAB, C++, etc., which operate in GUI, CLI, or API.
  • 🐧 PsychoPy Builder (source): PsychoPy is an open-source application for creating experiments in neuroscience, psychology, and psychophysics.
  • 🐧 PsychToolBox (source): Psychophysics Toolbox Version 3 (PTB-3) is a free set of Matlab and GNU Octave functions for vision and neuroscience research.

Commercial/closed-source software:

  • EventIDE: EventIDE is a software platform for designing and running multimodal experiments, with an IDE.
  • 🐧 Neuromore Studio: Biofeedback suite for building neurofeedback protocols and visualizing biosignals in real time. Its source is public, but it requires the Neuromore cloud backend to run.
  • 🐧 NeuroPype: platform for real-time brain-computer interfacing (BCI), neuroimaging, and neural signal processing, which supports a range of biosignal modalities including EEG, fNIRS, ExG, etc.

Matlab Toolboxes

Note: MATLAB itself is proprietary. Some listed MATLAB toolboxes may also work in GNU Octave, but compatibility varies significantly.

Officially supports GNU Octave:

Partial compatibility with GNU Octave:

  • 🐧 ⚠️ EEGLab (source): Octave support exists, but EEGLAB recommends MATLAB first; GUI, graphics, plugins, speed, and ICLabel have caveats.

  • 🐧 ⚠️ FieldTrip (source): Core computations may work in Octave, but FieldTrip primarily targets MATLAB and some plotting functions are MATLAB-specific.

  • 🐧 ⛔ BCILab (source): Documented as a MATLAB toolbox; GUI use requires MATLAB.

  • 🐧 ❔ BBCI: Octave compatibility is not clearly documented.

  • 🐧 ⛔ ERPLAB (source): Current compatibility notes require MATLAB toolboxes; MVPC routines require recent MATLAB versions.

  • 🐧 ❔ Chronux (source): Octave compatibility is not clearly documented.

Python Toolboxes

Mobile Apps

Free/open-source software:

  • NeuroSky Android SDK: GitHub
  • EEG-101 (Now-deprecated): GitHub

Commercial/closed-source software:

Brain Visualizations

RaspberryPi Framework

Communication Protocols

These are some of the commonly used Communication protocols.

Hardware

This section is separated into different sections based on the types of technology.

EEG

Electroencephalography is the most commonly used form of Neurotechnology. There are many options out there meaning that you can easily find a device that matches your needs and price.

Consumer and DIY Devices

Some of these devices are still supported and actively developed by manufacturers, community members, or researchers. Others are no longer supported but may still have a community of users who can help you get access.

Research Devices Manufactures

EEG Parts & Supplies

NIRS

Near-Infrared Spectroscopy (NIRS) is a technology that measures the concentration of hemoglobin in each brain region, which can be used to infer energy expenditure and hence higher activity in that region.

Multimodal Neurotech

These devices combine different type of sensors to measure or influence brain activity.

Brain Stimulation

Upcoming NeuroImaging Tech

Brain Databases

Tutorials and Project Ideas

Communities and Blogs

Forums

Blogs

Competitions

Data Competitions

Brain Controlled Competitions

Conferences and Events

Reading Material

Papers

Introductory Books

Technical Books

Signal Processing

Schools & Summer Courses

Other Resources

Contributing

We welcome contributions to this awesome list! Please read our Contributing Guidelines for details on how to submit changes.

About

Curated Collection of BCI resources

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors