P. Charles Garell, Elizabeth Felton, J. Adam Wilson, and Justin Williams
Laboratory for Neural Interface Technology, Research, and Optimization (NITRO)
Department of Biomedical Engineering
University of Wisconsin - Madison
The Neural Interface Technology and Research Optimization (NITRO) lab at the University of Wisconsin has been using the BCI2000 software system for several years now to implement real-time BCI experiments using EEG and electrocorticographic (ECoG) signals. We were able to setup and learn the system mostly on our own quickly, with the help of the increasingly detailed documentation, and emails and phone calls to the BCI2000 developers. The software comes with many pre-designed experiments that were ready to be loaded and run, making it easy to jump in and get started. In addition, the system can be used for more general neural experimentation beyond brain-computer interface research, such as recording responses to auditory and visual stimuli. The software handles all necessary event timing and storage, and all of the data can easily be imported into software such as Matlab for offline analysis.
An important feature for us was the extensibility of the software. The C++ source code for the entire project is available, allowing users to design custom signal acquisition drivers, signal processing and classification algorithms, and new experimental tasks and applications. We use the Tucker-Davis Pentusa system for data acquisition, and were able to finish the software for BCI2000 to interface with that hardware in less than a week. An external interface is available that allows Matlab to handle the signal processing algorithms, greatly simplifying the task of designing and writing complex code. Finally, we have written several new applications (using the standard applications as a model), that interface seamlessly with existing signal acquisition and processing modules.
We have found that the BCI2000 system strikes a great balance between a plug-and-play system that is ready to use with zero programming knowledge, and yet can be completely customizable to any researcher’s needs for any system. The “stock” BCI2000 software contains many standard signal processing algorithms (FFT, AR spectral estimation, ERP/averaging, among others), and applications (2D cursor control, P300 speller) used currently in BCI research. An in-house system that re-implemented these would likely have taken months or longer to design and program, and would not have been nearly as robust and adaptable to multiple tasks as BCI2000. We have had nothing but success using BCI2000, and would recommend it to anyone interested in starting BCI research, or anyone already doing BCI research and would like to use a well-established, well-maintained, and easily-extended system.