BCI Software Platforms

  • Clemens Brunner
  • Giuseppe Andreoni
  • Lugi Bianchi
  • Benjamin Blankertz
  • Christian Breitwieser
  • Shin’ichiro Kanoh
  • Christian A. Kothe
  • Anatole Lécuyer
  • Scott Makeig
  • Jürgen Mellinger
  • Paolo Perego
  • Yann Renard
  • Gerwin Schalk
  • I Putu Susila
  • Bastian Venthur
  • Gernot R. Müller-Putz
Part of the Biological and Medical Physics, Biomedical Engineering book series (BIOMEDICAL)


In this chapter, we provide an overview of publicly available software platforms for brain–computer interfaces. We have identified seven major BCI platforms and one platform specifically targeted towards feedback and stimulus presentation. We describe the intended target user group (which includes researchers, programmers, and end users), the most important features of each platform such as availability on different operating systems, licences, programming languages involved, supported devices, and so on. These seven platforms are: (1) BCI2000, (2) OpenViBE, (3) TOBI Common Implementation Platform (CIP), (4) BCILAB, (5) BCI++, (6) xBCI, and (7) BF++. The feedback framework is called Pyff. Our conclusion discusses possible synergies and future developments, such as combining different components of different platforms. With this overview, we hope to identify the strengths and weaknesses of each available platform, which should help anyone in the BCI research field in their decision which platform to use for their specific purposes.


Graphical User Interface Motor Imagery Independent Component Analysis Common Spatial Pattern Stimulus Application 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



The views and the conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the corresponding funding agencies. The authors would like to acknowledge the following projects and funding sources:

BCI2000: This work was supported by grants from the US Army Research Office (W911NF-07-1-0415, W911NF-08-1-0216) and the NIH/NIBIB (EB006356 and EB000856).

OpenViBE: This work was partly supported by grants of the French National Research Agency under the OpenViBE (ANR-05-RNTL-016) and OpenViBE2 (ANR-09-CORD-017) projects.

TOBI: This work is supported by the European ICT Programme Project FP7-224631.

BCILAB: Research was sponsored by the Army Research Laboratory and was accomplished under Cooperative Agreement Number W911NF-10-2-0022. Initial development was supported by a gift from the Swartz Foundation (Oldfield, NY) and a basic research grant of the Office of Naval Research (ONR).

Pyff: This work was partly supported by grants of the Bundesministerium für Bildung und Forschung (BMBF) (FKZ 01IB001A, 01GQ0850) and by the FP7-ICT Programme of the European Community, under the PASCAL2 Network of Excellence, ICT-216886.


  1. 1.
    Allison, B.Z., McFarland, D.J., Schalk, G., Zheng, S.D., Jackson, M.M., Wolpaw, J.R.: Towards an independent brain–computer interface using steady state visual evoked potentials. Clin. Neurophysiol. 119, 399–408 (2008)Google Scholar
  2. 2.
    Bell, A.J., Sejnowski, T.J.: An information-maximization approach to blind separation and blind deconvolution. Neural Comput. 7, 1129–1159 (1995)Google Scholar
  3. 3.
    Bell, C.J., Shenoy, P., Chalodhorn, R., Rao, R.P.: Control of a humanoid robot by a noninvasive brain–computer interface in humans. J. Neural Eng. 5, 214–220 (2008)Google Scholar
  4. 4.
    Bianchi, L., Babiloni, F., Cincotti, F., Salinari, S., Marciani, M.G.: An object oriented approach to biofeedback applications for disabled people. In: 3rd International Conference on BioElectroMagnetism, pp. 1–3. Bled, Slovenia (2000)Google Scholar
  5. 5.
    Bianchi, L., Babiloni, F., Cincotti, F., Mattia, D., Marciani, M.G.: Developing wearable bio-feedback systems: the BF++ framework approach. In: 1st International IEEE EMBS Conference on Neural Engineering, pp. 607–609. Capri, Italy (2003)Google Scholar
  6. 6.
    Bianchi, L., Quitadamo, L., Garreffa, G., Cardarilli, G., Marciani, M.: Performances evaluation and optimization of brain computer interface systems in a copy spelling task. IEEE Trans. Neural Syst. Rehabil. Eng. 15, 207–216 (2007)Google Scholar
  7. 7.
    Bianchi, L., Quitadamo, L.R., Abbafati, M., Marciani, M.G., Saggio, G.: Introducing NPXLab 2010: a tool for the analysis and optimization of P300 based brain–computer interfaces. In: 2nd International Symposium on Applied Sciences in Biomedical and Communication Technologies, pp. 1–4 (2009)Google Scholar
  8. 8.
    Blankertz, B., Lemm, S., Treder, M., Haufe, S., Müller, K.R.: Single-trial analysis and classification of ERP components – a tutorial. NeuroImage 56, 814–825 (2011)Google Scholar
  9. 9.
    Breitwieser, C., Daly, I., Neuper, C., Müller-Putz, G. R.: Proposing a standardized protocol for raw biosignal transmission. IEEE Trans. Biomed. Eng. 59, 852–859 (2012)Google Scholar
  10. 10.
    Breitwieser, C., Neuper, C., Müller-Putz, G.R.: A concept to standardize raw biosignal transmission for brain–computer interfaces. In: Proceedings of the 33rd Annual International Conference of the IEEE Engineering in Medicine and Biology Society (2011b)Google Scholar
  11. 11.
    Brouwer, A.M., Van Erp, J.B.F.: A tactile P300 brain–computer interface. Front. Neurosci. 4 (2010)Google Scholar
  12. 12.
    Brunner, P., Ritaccio, A.L., Lynch, T.M., Emrich, J.F., Wilson, J.A., Williams, J.C., Aarnoutse, E.J., Ramsey, N.F., Leuthardt, E.C., Bischof, H., Schalk, G.: A practical procedure for real-time functional mapping of eloquent cortex using electrocorticographic signals in humans. Epilepsy Behav. 15, 278–286 (2009)Google Scholar
  13. 13.
    Brunner, P., Ritaccio, A.L., Emrich, J.F., Bischof, H., Schalk, G.: Rapid communication with a “P300” matrix speller using electrocorticographic signals (ECoG). Front. Neurosci. 5 (2011)Google Scholar
  14. 14.
    Buch, E., Weber, C., Cohen, L.G., Braun, C., Dimyan, M.A., Ard, T., Mellinger, J., Caria, A., Soekadar, S., Fourkas, A., Birbaumer, N.: Think to move: a neuromagnetic brain–computer interface (BCI) system for chronic stroke. Stroke 39, 910–917 (2008)Google Scholar
  15. 15.
    Cabrera, A.F., Dremstrup, K.: Auditory and spatial navigation imagery in brain–computer interface using optimized wavelets. J. Neurosci. Methods 174, 135–146 (2008)Google Scholar
  16. 16.
    Cincotti, F., Mattia, D., Aloise, F., Bufalari, S., Astolfi, L., De Vico Fallani F., Tocci, A., Bianchi, L., Marciani, M.G., Gao, S., Millán, J., Babiloni, F.: High-resolution EEG techniques for brain–computer interface applications. J. Neurosci. Meth. 167, 31–42 (2008a)Google Scholar
  17. 17.
    Cincotti, F., Mattia, D., Aloise, F., Bufalari, S., Schalk, G., Oriolo, G., Cherubini, A., Marciani, M.G., Babiloni, F.: Non-invasive brain–computer interface system: towards its application as assistive technology. Brain Res. Bull. 75, 796–803 (2008b)Google Scholar
  18. 18.
    Delorme, A., Makeig, S.: EEGLAB: an open source toolbox for analysis of single-trial EEG dynamics including independent component analysis. J. Neurosci. Meth. 134, 9–21 (2004)Google Scholar
  19. 19.
    Delorme, A., Mullen, T., Kothe, C., Acar, Z.A., Bigdely-Shamlo, N., Vankov, A., Makeig, S.: EEGLAB, SIFT, NFT, BCILAB, and ERICA: new tools for advanced EEG processing. Comput. Intell. Neurosci. 2011, 130,714 (2011)Google Scholar
  20. 20.
    Felton, E.A., Wilson, J.A., Williams, J.C., Garell, P.C.: Electrocorticographically controlled brain–computer interfaces using motor and sensory imagery in patients with temporary subdural electrode implants – report of four cases. J. Neurosurg. 106, 495–500 (2007)Google Scholar
  21. 21.
    Graimann, B., Allison, B., Pfurtscheller, G.: Brain-computer interfaces: a gentle introduction. In: Graimann, B., Allison, B., Pfurtscheller, G.: (eds.) Brain–Computer Interfaces: Revolutionizing Human–Computer Interaction, pp. 1–28. Springer Berlin Heidelberg, (2011)Google Scholar
  22. 22.
    Kanoh, S., Scherer, R., Yoshinobu, T., Hoshimiya, N., Pfurtscheller, G.: “Brain switch” BCI system based on EEG during foot movement imagery. In: Proceedings of the Third International Brain–Computer Interface Workshop and Training Course, pp. 64–65 (2006)Google Scholar
  23. 23.
    Kanoh, S., Scherer, R., Yoshinobu, T., Hoshimiya, N., Pfurtscheller, G.: Effects of long-term feedback training on oscillatory EEG components modulated by motor imagery. In: Proceedings of the Fourth International Brain–Computer Interface Workshop and Training Course, pp. 150–155 (2008)Google Scholar
  24. 24.
    Kothe, C., Makeig, S.: Estimation of task workload from EEG data: new and current tools and perspectives. In: Proceedings of the 33rd Annual International Conference of the IEEE Engineering in Medicine and Biology Society (2011)Google Scholar
  25. 25.
    Kubánek, J., Miller, K.J., Ojemann, J.G., Wolpaw, J.R., Schalk, G.: Decoding flexion of individual fingers using electrocorticographic signals in humans. J. Neural Eng. 6, 066,001 (2009)Google Scholar
  26. 26.
    Kübler, A., Nijboer, F., Mellinger, J., Vaughan, T.M., Pawelzik, H., Schalk, G., McFarland, D.J., Birbaumer, N., Wolpaw, J.R.: Patients with ALS can use sensorimotor rhythms to operate a brain–computer interface. Neurology 64, 1775–1777 (2005)Google Scholar
  27. 27.
    Lancaster, J.L., Woldorff, M.G., Parsons, L.M., Liotti, M., Freitas, C.S., Rainey, L., Kochunov, P.V., Nickerson, D., Mikiten, S.A., Fox, P.T.: Automated Talairach atlas labels for functional brain mapping. Hum. Brain Mapp. 10, 120–131 (2000)Google Scholar
  28. 28.
    Leuthardt, E.C., Schalk, G., Wolpaw, J.R., Ojemann, J.G., Moran, D.W.: A brain–computer interface using electrocorticographic signals in humans. J. Neural Eng. 1, 63–71 (2004)Google Scholar
  29. 29.
    Leuthardt, E.C., Miller, K.J., Schalk, G., Rao, R.P., Ojemann, J.G.: Electrocorticography-based brain computer interface – the Seattle experience. IEEE Trans. Neural Syst. Rehabil. Eng. 14, 194–198 (2006)Google Scholar
  30. 30.
    Leuthardt, E.C., Miller, K.J., Anderson, N.R., Schalk, G., Dowling, J., Miller, J., Moran, D.W., Ojemann, J.G.: Electrocorticographic frequency alteration mapping: a clinical technique for mapping the motor cortex. Neurosurgery 60, 260–270 (2007)Google Scholar
  31. 31.
    Lotte, F., Renard, Y., Lécuyer, A.: Self-paced brain–computer interaction with virtual worlds: a qualitative and quantitative study “out-of-the-lab.” In: Proceedings of the Fourth International Brain–Computer Interface Workshop and Training Course, pp. 373–378 (2008)Google Scholar
  32. 32.
    Makeig, S., Bell, A.J., Jung, T.P., Sejnowski, T.J.: Independent component analysis of electroencephalographic data. In: Touretzky, D., Mozer, M., Hasselmo, M. (eds.) Advances in Neural Information Processing Systems, pp. 145–151. MIT Press (1996)Google Scholar
  33. 33.
    Makeig, S., Gramann, K., Jung, T.P., Sejnowski, T.J., Polzner, H.: Linking brain, mind and behavior. Int. J. Psychophysiol. 73, 95–100 (2009)Google Scholar
  34. 34.
    Mason, S.G., Birch, G.E.: A general framework for brain–computer interface design. IEEE Trans. Neural Syst. Rehabil. Eng. 11, 70–85 (2003)Google Scholar
  35. 35.
    McFarland, D.J., Krusienski, D.J., Sarnacki, W.A., Wolpaw, J.R.: Emulation of computer mouse control with a noninvasive brain–computer interface. J. Neural Eng. 5, 101–110 (2008)Google Scholar
  36. 36.
    McFarland, D.J., Sarnacki, W.A., Wolpaw, J.R.: Electroencephalographic (EEG) control of three-dimensional movement. J. Neural Eng. 7, 036,007 (2010)Google Scholar
  37. 37.
    Mellinger, J., Schalk, G., Braun, C., Preissl, H., Rosenstiel, W., Birbaumer, N., Kübler, A.: An MEG-based brain–computer interface (BCI). NeuroImage 36, 581–593 (2007)Google Scholar
  38. 38.
    Miller, K.J., Dennijs, M., Shenoy, P., Miller, J.W., Rao, R.P., Ojemann, J.G.: Real-time functional brain mapping using electrocorticography. Neuroimage 37, 504–507 (2007a)Google Scholar
  39. 39.
    Miller, K.J., Leuthardt, E.C., Schalk, G., Rao, R.P., Anderson, N.R., Moran, D.W., Miller, J.W., Ojemann, J.G.: Spectral changes in cortical surface potentials during motor movement. J. Neurosci. 27, 2424–32 (2007b)Google Scholar
  40. 40.
    Millán, J., Rupp, R., Müller-Putz, G.R., Murray-Smith, R., Giugliemma, C., Tangermann, M., Vidaurre, C., Cincotti, F., Kübler, A., Leeb, R., Neuper, C., Müller, K.R., Mattia, D.: Combining brain–computer interfaces and assistive technologies: state-of-the-art and challenges. Front. Neurosci. 4 (2010)Google Scholar
  41. 41.
    Müller-Putz, G.R., Kaiser, V., Solis-Escalante, T., Pfurtscheller, G.: Fast set-up asynchronous brain-switch based on detection of foot motor imagery in 1-channel EEG. Med. Biol. Eng. Comput. 48, 229–233 (2010)Google Scholar
  42. 42.
    Palmer, J.A., Makeig, S., Kreutz-Delgado, K., Rao, B.D.: Newton Method for the ICA Mixture Model. In: Proceedings of the 33rd IEEE International Conference on Acoustics and Signal Processing (ICASSP), pp. 1805–1808 (2008)Google Scholar
  43. 43.
    Parini, S., Maggi, L., Turconi, A.C., Andreoni, G.: A robust and self-paced BCI system based on a four class SSVEP paradigm: algorithms and protocols for a high-transfer-rate direct brain communication. Comput. Intell. Neurosci. 2009, 864,564 (2009)Google Scholar
  44. 44.
    Prechelt, L.: An empirical comparison of seven programming languages. IEEE Comput. 33, 23–29 (2000)Google Scholar
  45. 45.
    Quitadamo, L.R., Marciani, M.G., Cardarilli, G.C., Bianchi, L.: Describing different brain computer interface systems through a unique model: a UML implementation. Neuroinformatics 6, 81–96 (2008)Google Scholar
  46. 46.
    Ramoser, H., Müller-Gerking, J., Pfurtscheller, G.: Optimal spatial filtering of single trial EEG during imagined hand movement. IEEE Trans. Rehabil. Eng. 8, 441–446 (2000)Google Scholar
  47. 47.
    Renard, Y., Lotte, F., Gibert, G., Congedo, M., Maby, E., Delannoy, V., Bertrand, O., Lécuyer, A.: OpenViBE: an open-source software platform to design, test, and use brain–computer interfaces in real and virtual environments. Presence 19, 35–53 (2010)Google Scholar
  48. 48.
    Royer, A.S., He, B.: Goal selection versus process control in a brain–computer interface based on sensorimotor rhythms. J. Neural Eng. 6, 016,005 (2009)Google Scholar
  49. 49.
    Schalk, G., Mellinger, J.: A Practical Guide to Brain-Computer Interfacing with BCI2000: General-Purpose Software for Brain-Computer Interface Research, Data Acquisition, Stimulus Presentation, and Brain Monitoring. Springer London (2010)Google Scholar
  50. 50.
    Schalk, G., McFarland, D.J., Hinterberger, T., Birbaumer, N., Wolpaw, J.R.: BCI2000: A General-Purpose Brain-Computer Interface (BCI) System. IEEE Trans. Biomed. Eng. 51, 1034–1043 (2004)Google Scholar
  51. 51.
    Schalk, G., Kubánek, J., Miller, K.J., Anderson, N.R., Leuthardt, E.C., Ojemann, J.G., Limbrick, D., Moran, D., Gerhardt, L.A., Wolpaw, J.R.: Decoding two-dimensional movement trajectories using electrocorticographic signals in humans. J. Neural Eng. 4, 264–275 (2007)Google Scholar
  52. 52.
    Schalk, G., Leuthardt, E.C., Brunner, P., Ojemann, J.G., Gerhardt, L.A., Wolpaw, J.R.: Real-time detection of event-related brain activity. NeuroImage 43, 245–249 (2008a)Google Scholar
  53. 53.
    Schalk, G., Miller, K.J., Anderson, N.R., Wilson, J.A., Smyth, M.D., Ojemann, J.G., Moran, D.W., Wolpaw, J.R., Leuthardt, E.C.: Two-dimensional movement control using electrocorticographic signals in humans. J. Neural Eng. 5, 75–84 (2008b)Google Scholar
  54. 54.
    Sellers, E.W., Vaughan, T.M., Wolpaw, J.R.: A brain–computer interface for long-term independent home use. Amyotroph. Lateral Scler. 11, 449–455 (2010)Google Scholar
  55. 55.
    Susila, I.P., Kanoh, S., Miyamoto, K., Yoshinobu, T.: xBCI: a generic platform for development of an online BCI system. IEEE Trans. Electr. Electron. Eng. 5, 467–473 (2010)Google Scholar
  56. 56.
    Tomioka, R., Müller, K.R.: A regularized discriminative framework for EEG analysis with application to brain–computer interface. NeuroImage 49, 415–432 (2010)Google Scholar
  57. 57.
    Valderrama, A.T., Oostenveld, R., Vansteensel, M.J., Huiskamp, G.M., Ramsey, N.F.: Gain of the human dura in vivo and its effect on invasive brain signals feature detection. J. Neurosci Methods 187, 270–279 (2010)Google Scholar
  58. 58.
    Vaughan, T.M., McFarland, D.J., Schalk, G., Sarnacki, W.A., Krusienski, D.J., Sellers, E.W., Wolpaw, J.R.: The Wadsworth BCI Research and Development Program: at home with BCI. IEEE Trans. Neural Syst. Rehabil. Eng. 14, 229–233 (2006)Google Scholar
  59. 59.
    Venthur, B., Scholler, S., Williamson, J., Dähne, S., Treder, M.S., Kramarek, M.T., Müller, K.R., Blankertz, B.: Pyff – a pythonic framework for feedback applications and stimulus presentation in neuroscience. Front. Neurosci. 4 (2010)Google Scholar
  60. 60.
    Vidal, J.J.: Toward direct brain–computer communication. Ann. Rev. Biophys. Bioeng. 2, 157–180 (1973)Google Scholar
  61. 61.
    Wilson, J.A., Felton, E.A., Garell, P.C., Schalk, G., Williams, J.C.: ECoG factors underlying multimodal control of a brain–computer interface. IEEE Trans. Neural Syst. Rehabil. Eng. 14, 246–250 (2006)Google Scholar
  62. 62.
    Wilson, J.A., Mellinger, J., Schalk, G., Williams, J.: A procedure for measuring latencies in brain-computer interfaces. IEEE Trans. Biomed. Eng. 7, 1785–1797 (2010)Google Scholar
  63. 63.
    Wisneski, K.J., Anderson, N., Schalk, G., Smyth, M., Moran, D., Leuthardt, E.C.: Unique cortical physiology associated with ipsilateral hand movements and neuroprosthetic implications. Stroke 39, 3351–3359 (2008)Google Scholar
  64. 64.
    Wolpaw, J.R., McFarland, D.J.: Multichannel EEG-based brain–computer communication. Clin. Neurophysiol. 90, 444–449 (1994)Google Scholar
  65. 65.
    Wolpaw, J.R., McFarland, D.J.: Control of a two-dimensional movement signal by a noninvasive brain–computer interface in humans. Proc. Natl. Acad. Sci. USA 101, 17,849–17,854 (2004)Google Scholar
  66. 66.
    Yamawaki, N., Wilke, C., Liu, Z., He, B.: An enhanced time-frequency-spatial approach for motor imagery classification. IEEE Trans. Neural Syst. Rehabil. Eng. 14, 250–254 (2006)Google Scholar
  67. 67.
    Zander, T.O., Kothe, C.: Towards passive brain–computer interfaces: applying brain–computer interface technology to human-machine systems in general. J. Neural Eng. 8, 025,005 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Clemens Brunner
    • 1
    • 2
  • Giuseppe Andreoni
    • 3
  • Lugi Bianchi
    • 4
  • Benjamin Blankertz
    • 5
  • Christian Breitwieser
    • 1
  • Shin’ichiro Kanoh
    • 6
  • Christian A. Kothe
    • 2
  • Anatole Lécuyer
    • 8
  • Scott Makeig
    • 2
  • Jürgen Mellinger
    • 7
  • Paolo Perego
    • 3
  • Yann Renard
    • 8
  • Gerwin Schalk
    • 9
  • I Putu Susila
    • 10
  • Bastian Venthur
    • 5
  • Gernot R. Müller-Putz
    • 1
  1. 1.Institute for Knowledge DiscoveryGraz University of TechnologyGrazAustria
  2. 2.Swartz Center for Computational NeuroscienceINC, UCSDSan DiegoUSA
  3. 3.INDACO, Politecnico di MilanoMilanItaly
  4. 4.Neuroscience DepartmentTor Vergata University of RomeRomeItaly
  5. 5.Machine Learning LaboratoryBerlin Institute of TechnologyBerlinGermany
  6. 6.Department of Electronics and Intelligent SystemsTohoku Institute of TechnologySendaiJapan
  7. 7.Institute of Medical Psychology and Behavioral NeurobiologyUniversity of TübingenTübingenGermany
  8. 8.National Institute for Research in Computer Science and Control (INRIA)RennesFrance
  9. 9.New York State Department of HealthWadsworth CenterAlbanyUSA
  10. 10.Nuclear Equipment Engineering CenterTangerang SelatanIndonesia

Personalised recommendations