GithubHelp home page GithubHelp logo

taile2007 / eeg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gskelly/eeg

0.0 0.0 0.0 57.89 MB

Software, firmware, and CAD files for mobile EEG project.

C 20.27% C++ 4.68% Assembly 0.28% Scilab 0.12% Shell 0.25% MATLAB 0.41% Makefile 26.54% Batchfile 0.02% Eagle 3.75% KiCad Layout 43.58% QMake 0.01% Objective-C 0.10%

eeg's Introduction

eeg

Software, firmware, and CAD files for Brainboard, a mobile EEG project. Brainboard interfaces with a custom MATLAB program, BCI2VR (http://www.engineering.vcu.edu/eegbci/bci2vr_index.html), via Bluetooth. The core hardware components are the ADS1299 EEG front-end from Texas Instruments, the AT32UC3L064 microcontroller from Atmel, the MPU-6050 6-axis inertial measurement unit from InvenSense, and the RN-42 Bluetooth 2.1 module from Microchip/Roving Networks.

Current firmware is for the Atmel AT32UC3L064, a 32-bit AVR microcontroller. Some experimentation was done with on-line digital processing of the acquired EEG signals from within the AVR firmware, but this is currently incomplete. The microcontroller acts as a dumb pipe shuttling 8 channels of 24-bit data from the ADS1299 and 6 channels of 16-bit data from the MPU-6050, where they are displayed using the BCI2VR MATLAB GUI. Firmware is flashed to the MCU using a 10-pin JTAG connection and the AVR Dragon (or other AVR32-compatible programmer). Code was developed using the free Atmel Studio IDE.

The project predates my use of a proper versioning system, and thus the hardware folder contains designs (some old, some WIP) for the Brainboard. The most recent complete version is brainboard_wearable_v2. Older versions may be viewed for completeness's sake and/or compared with the thesis document for a full picture of the design process. The folders "muscleboard" and "brainboard_v2" are works in progress. The former is meant for single-channel EMG acquisition and acceleration measurements in a small, 3-electrode form factor that can be mounted on a disposable electrode pad. This will probably ultimately be moved to its own repository. Brainboard v2 is a BeagleBone Black cape that takes the BBB support from earlier versions of the Brainboard and re-implements it in a more elegant fashion (see thesis for details).

To use the BCI2VR GUI (assumes you already have MATLAB r2011b or later):

  1. Go to the link above and download the required MATLAB files for the basic BCI2VR functionality.

  2. Copy btv_brainBoardBtFun.m into the functions folder.

  3. Copy brainBoardBt_btv_daq_settings.m and brainBoardBt_14Ch.loc into the setup_files folder.

  4. Make sure the toolbox is added to your path. Run bci2vr.m and click "Data Acquisition."

  5. Click the "Load setup file" icon and load brainBoardBt_btv_daq_settings.

  6. The program will attempt to open a Bluetooth connection with BrainBoard. It occasionally fails; in this case simply close the GUI and try again.

  7. Click the "Play" icon to begin recording.

For more info, check Dr. Ou Bai's documentation for BCI2VR, included with the toolbox.

Questions may be directed toward Graham Kelly, preferably at [email protected], or at [email protected] as a backup. Dr. Bai may be reached at [email protected].

eeg's People

Contributors

gskelly avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.