Inspiration
Literature on the uses of Brain-Computer Interface's (BCIs) in a clinical setting and mentioned that a use case was for stroke rehabilitation through the stimulation of neural plasticity. We looked at how stroke rehabilitation could be further enhanced and thought that BCI could be combined with Functional Electrical Stimulation (FES), which also stimulates neural plasticity of muscles affected by stroke.
What it does
NeuroMotion uses a person's electroencephalography (EEG) signals to predict their intent of motion. EEG signals are collected from an OpenBCI headset and passed to NeuroMotion. Here the application filters, pre-processes, and extracts features from the raw data. This data is passed to our machine learning model, which was trained to classify intent of left arm movement versus intent of right arm movement versus neutral (non-movement). The model outputs a prediction from the above classes and is displayed on our GUI along with the raw EEG signals collected from the headset.
How we built it
NeuroMotion was built using Python, MNE and Brainflow for signal collection, filtering, and pre-processing. The machine learning model was built using PyTorch and trained using the MOABB BNCI 2014 motor imagery dataset, modified to only use the Fp1, Fp2, C3 and C4 electrodes to better fit our OpenBCI setup.
Challenges we ran into
The main challenge we ran into was how to modify the shape of our EEG data to fit into the feature extraction classes and our machine learning model. The data collected from the OpenBCI headset we were using differed from the EEG data format provided by the online motor imagery dataset and required some modifications to properly pass the data into our classifier. This issue was resolved after careful observation and modification of the data using our background knowledge on machine learning.
What we learned
We are proud to have learned so much about working with bio-signals and working with machine learning. Most of the team had never worked with any type of bio-signals like EEG or EMG prior to this weekend, and now everyone has a strong baseline understanding of how EEGs work. Furthermore, we were able to not just understand how EEGs work, but were able to create a working application that predicts and displays our data correctly. This experience will be beneficial to the members of this team who are considering a potential future career in BioTech or NeuroTech.
What's next for NeuroMotion
NeuroMotion was initially built as an idea to help with stroke rehabilitation through the stimulation of Neural Plasticity. We believe that NeuroMotion could have the potential to combine with other methods of stroke rehabilitation, such as FES, to further enhance the effectiveness of neural plasticity. This would require further research and may necessitate a clinical trial to verify the effectiveness of combining BCI and FES in stroke rehabilitation.
Built With
- brainflow
- eventlet
- flask
- mne
- numpy
- python
- pytorch
- scikit-learn
- threading

Log in or sign up for Devpost to join the conversation.