P5.EEGEdu
P5.EEGEdu is an educational website to learn about coding live animations with electroencephalogram (EEG) data. It is a teaching tool that allows for students to quickly interact with their own brain waves.
Visit https://p5.eegedu.com/ for the live p5 sandbox website.
Installation for Development
If you are interested in developing p5.EEGEdu, here are some instructions to get you started.
Note: Currently p5.EEGEdu development requires a Mac OSX operating system.
To start, you will need to install Homebrew and yarn. These are easy one-line installations for Mac users:
# 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
# Node.js must be version 10.x for Muse interaction
# Thus, if you are getting version issues, install n and switch versions
# sudo npm install -g n
# sudo n 10.16.0
Then, in terminal, clone the git repo and enter the folder:
git clone https://github.com/kylemath/p5.EEGEdu
cd p5.EEGEdu
You then need to install the required packages for EEGEdu
yarn install
Local Development Environment
Then, you can run the Development Environment of p5.EEGEdu:
yarn start dev
If it is working correctly, the p5.EEGEdu application will 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 run build
serve -s build
Deployment
p5.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.
Contributing
The guide for contributors can be found here. It covers everything you need to know to start contributing to p5.EEGEdu.
Development Roadmap
References
- https://github.com/urish/muse-js - based toolbox for interacting with muse
- https://github.com/NeuroJS/angular-muse - demo with streaming data in Angular, record button,
- https://github.com/tanvach/muse-fft - starting point react demo
- https://github.com/neurosity/eeg-pipes - easy pipable operations on eeg data from muse-js
- https://reactjs.org/ - React for web development
- https://www.chartjs.org/docs/latest/ - interactive charts
- https://github.com/urish/muse-lsl - maybe useful to stream to LSL
Credits
p5.EEGEdu
- An Interactive Electrophysiology P5 Animation Coding Sandbox with the Interaxon Muse brought to you by Mathewson Sons