All Projects → kylemath → EEGEdu

kylemath / EEGEdu

Licence: MIT License
Interactive Brain Playground - Browser based tutorials on EEG with webbluetooth and muse

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to EEGEdu

thesis
MSc thesis on: Classifying brain activity using EEG and automated time tracking of computer use (using ActivityWatch)
Stars: ✭ 44 (-51.65%)
Mutual labels:  eeg, openbci, muse
Deep-Learning-for-BCI
Resources for Book: Deep Learning for EEG-based Brain-Computer Interface: Representations, Algorithms and Applications
Stars: ✭ 63 (-30.77%)
Mutual labels:  eeg, bci
brain-powered
With the Brain Powered honourscourse at the UvA we aimed to control a drone using brain signals, measured by means of EEG, only.
Stars: ✭ 13 (-85.71%)
Mutual labels:  eeg, bci
plottr
A flexible plotting and data analysis tool.
Stars: ✭ 32 (-64.84%)
Mutual labels:  data-analysis, plotting
EEG-Motor-Imagery-Classification-CNNs-TensorFlow
EEG Motor Imagery Tasks Classification (by Channels) via Convolutional Neural Networks (CNNs) based on TensorFlow
Stars: ✭ 125 (+37.36%)
Mutual labels:  eeg, eeg-data
eeguana
A package for manipulating EEG data in R.
Stars: ✭ 16 (-82.42%)
Mutual labels:  eeg, eeg-data
labplot
LabPlot is a FREE, open source and cross-platform Data Visualization and Analysis software accessible to everyone.
Stars: ✭ 107 (+17.58%)
Mutual labels:  data-analysis, plotting
Eeg 101
Interactive neuroscience tutorial app using Muse and React Native to teach EEG and BCI basics.
Stars: ✭ 199 (+118.68%)
Mutual labels:  eeg, plotting
hnn
The Human Neocortical Neurosolver (HNN) is a software tool that gives researchers/clinicians the ability to develop/test hypotheses on circuit mechanisms underlying EEG/MEG data.
Stars: ✭ 62 (-31.87%)
Mutual labels:  eeg, data-analysis
neurosky-android-sdk
Android SDK for the NeuroSky MindWave Mobile Brainwave Sensing Headset
Stars: ✭ 39 (-57.14%)
Mutual labels:  eeg, bci
BioAmp-v1.5
Upside Down Lab's Biopotential Amplifier v1.5 - Buy on Tindie at https://bit.ly/BioAmp-v1_5
Stars: ✭ 27 (-70.33%)
Mutual labels:  eeg, ecg
ganglion-ble
Web Bluetooth client for the Ganglion brain-computer interface by OpenBCI
Stars: ✭ 27 (-70.33%)
Mutual labels:  eeg, bci
curriculum
A roadmap for Boot.dev's CS curriculum for backend developers
Stars: ✭ 492 (+440.66%)
Mutual labels:  curriculum, educational
web-development-101
Практическое введение во все инструменты, необходимые для создания рабочих веб-сайтов.
Stars: ✭ 21 (-76.92%)
Mutual labels:  curriculum, educational
ggshakeR
An analysis and visualization R package that works with publicly available soccer data
Stars: ✭ 69 (-24.18%)
Mutual labels:  data-analysis, plotting
EEGReader
EEG Reader is an Android mobile application, which reads EEG signal from NeuroSky mobile device connected to smartphone via Bluetooth.
Stars: ✭ 36 (-60.44%)
Mutual labels:  eeg, bci
Electrophysiologysoftware
A list of openly available software tools for (mostly human) electrophysiology.
Stars: ✭ 54 (-40.66%)
Mutual labels:  eeg, data-analysis
Eegrunt
A Collection Python EEG (+ ECG) Analysis Utilities for OpenBCI and Muse
Stars: ✭ 171 (+87.91%)
Mutual labels:  eeg, data-analysis
EEGwithRaspberryPI
Open-Source board for converting RaspberryPI to Brain-computer interface
Stars: ✭ 402 (+341.76%)
Mutual labels:  eeg, bci
resources
Бесплатный образовательный контент, созданный и отобранный профессионалами
Stars: ✭ 20 (-78.02%)
Mutual labels:  curriculum, educational

EEGEdu

MIT license PRs welcome! issues

Interactive Brain Playground Logo

EEGEdu is an Interactive Brain Playground.

EEGEdu is served live at https://eegedu.com/. This website is served from the software in this repository. So, all you need to do to try the system out is head to EEGEdu.

EEGEdu is designed as an interactive educational website to learn/teach about working with electroencephalogram (EEG) data. It is a teaching tool that allows for students to interact with their own brain waves.

EEGEdu has been inspired by multiple works that came before. It is inspired by EEG101, but EEGEdu is web-based. Being web-based allows students to interact with EEG brain data without having to install any software. Others have used Neurotech EEG-notebooks in python for data collection and analysis with muse-lsl. These software support the Interaxon MUSE headset but require a bluetooth low-energey (BLE) dongle to work with common operating systems (e.g. Windows or Mac OSX). These tools also required the editing pyglatt code to connect to Muse headsets. Thus, previous software are cumbersome and serve as a barrier to entry for many students learning about EEG. EEGEdu aims to provide students with an accesible introduction to working with their own brain waves.

EEGEdu Curriculum

EEGEdu provides an step-by-step incremental tutorial for students to interact with EEG-based brain signals. So, we break down the curriculum into 10 lessons as follows:

  1. Connect + hardware, Biophysics + signal viewing
  2. Heart rate time domain data
  3. Heart rate frequency domain -beats per minute
  4. Raw Data + artifacts + blinks + record
  5. Frequency domain explanation + Raw spectra + record
  6. Frequency bands + record
  7. Spectrogram
  8. Neurofeedback p5js demos
  9. Eyes closed eyes open experiment
  10. SSVEP experiment
  11. BCI trainer

Installation for Development

If you are interested in developing EEGEdu, here are some instructions to get the software running on your system. Note: Currently EEGEdu development requires a Mac OSX operating system.

To start, you will need to install Homebrew and yarn. These are easy to install with the following Terminal / bash commands:

## Install homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

## Install yarn
# NOTE: this will also install Node.js if it is not already installed.
brew install yarn 

# NOTE: Node.js must be version 10.x for Muse interaction

# Thus, if you are getting version issues, install n, with the following command:
# sudo npm install -g n

# Then, you can switch to version 10.x with the following command:
# sudo n 10.16.0

Then, in Terminal/bash, clone this Git repository and change directory into the newly cloned folder:

git clone https://github.com/kylemath/EEGEdu
cd EEGEdu

Then, you can install the required yarn packages for EEGEdu:

yarn install

Local Development Environment

Then, you can run the Local Development Environment of EEGEdu:

yarn start dev

If it is working correctly, the EEGEdu application will automatically open in a browser window at http://localhost:3000.

Local Production Environment

To start the Local Production Environment, you can use the following commands:

yarn cache clean
yarn run build
serve -s build

Local Testing of Changes

  1. Install any new packages yarn install
  2. Start the Local Development Environment yarn start dev
  3. Look for errors in terminal log
  4. Open's browser to http://localhost:3000
  5. Open Javascript console
  6. Look for errors in console
  7. Connect Mock data stream by clicking Connect button
  8. Run through the checkFunction below with Mock data.
  9. Disconnect Mock data stream
  10. Turn on Interaxon Muse headband
  11. Connect Muse data stream
  12. Repeat the checkFunction below with Muse data.
# Pseudocode for checking EEGEdu functionality
checkFunction = {
    view raw data 
    change sliders 
    make sure data changes and no errors
    click spectra
    move sliders
    make sure changes
    click bands
    move sliders
    make sure changes
}

Deployment

EEGEdu is running on Firebase and deployment happens automagically using GitHub post-commit hooks, or Actions, as they are commonly called. You can see how the application is build and deployed by inspecting the workflow.

Currently this automagic deployment is not working, so we can deploy to firebase manually:

First, install the Firebase deployment tools:

sudo brew install firebase
sudo yarn global add firebase-tools
sudo yarn global add firebase

The first deployment requires login and initialization once:

firebase login

Browser opens, and login to Google account authorized for Firebase deployment:

firebase init
  • options: Hosting Sites only
  • public directory: build
  • single-page app: No
  • Overwrite - No
  • Overwrite - No

Then, deployment to Firebase happens with the following commands:

# clean the local cache to ensure most recent version is served
yarn cache clean

# build the latest version of the site
yarn run build

# deploy the latest version to firebase
firebase deploy

References and Related Tools

Contributing

The guide for contributors can be found here. It covers everything you need to know to start contributing to EEGEdu.

Credits

EEGEdu - An Interactive Electrophysiology Tutorial with the Interaxon Muse brought to you by Mathewson Sons. A KyKorKey Production.

License

EEGEdu is licensed under The MIT License (MIT)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].