Clone wiki

openvibe-gipsa-extensions / P300Scenarios


"Scenarios" a loadable workflows of different signal processing and BCI components called "boxes" in OpenVibe. Scenarios and boxes are used to implement our research in detecting P300 potentials in the brain.


These scenarios are used for P300 speller. P300 spellers are often used as mean of communication for handicapped people. In our work these scenarios (executed by OpenVibe) are combined with our BCI game called Brain Invaders. The concept behind Brain Invaders is almost identical a P300 speller.

We have two generations of scenarios and boxes:

Generation One

Those are based on improvement of previous work based to the xDawn algorithm. The scenarios require both training and online phase.

Generation Two

This is our current state of the art generation of algorithms. They are based on riemannian geometry. You can find more here. The "adaptive mode" allows both training and online phases to be executed in the same time and thus allows for speedier plug and play BCI.

These scenarios include:

  • train and online phase
  • single adaptive scenario (current focus of our work)
  • multiplayer adaptive scenario (2 players in Brain Invaders)

Scenarios can also utilize a Riemann Potato box to detect artifacts.


General considerations:

  • Make sure you have followed every step of the installation procedure using our installer.
  • You may change the name of the trigger channel according to your EEG amplifier for the channel selector boxes in the scenarios depending on your amplifier specification.
  • You may change the Nrep value of the "Process Results" box in the online scenario according to the number of repetition in your P300 application.
  • Start and configure your acquisition server according to your EEG device (don't forget the trigger channel. On some EEG device, the drift correction should also be disabled).


For BI you can use the Brain Invaders Launcher that will automatically configure and start both the OpenVibe scenarios and BI.

Alternatively you can proceed manually: * Start the training scenario. * Start your external P300 application in training mode (ex. Brain Invaders). * Once the training is done, stop the scenario.

  • Start the Online scenario.
  • Start your external P300 application.

Adaptive mode

The adaptive mode has only one scenario for both the training and the online.


We use two communication protocols:

  • data is sent between OpenVibe and and an external application such as Brain Invaders or Brainmium. These is done through Hardware tagging. These is a well defined protocol. Also we use an Arduino Tagger to convert data from the USB port to the parallel port input of an amplifier.
  • data is sent from OpenVibe to an external BCI application such as BI. This usually contains the result of the calculations. For example where we have detected the P300 potential and this which alien should be destroyed in BI.


For more details please visit our Publications page

Device specific


  • Set the correct channel event name for the Robik device in Parallel Port to Stimulation. It should be "Wired" or "D0Wired".
  • For the Wire channel , the Fieldtrip driver returns values incorrectly (multiplied by 10^6). A simple DSP box should be added before the parallel to stimulation box.
  • Parallel Port to Stimulation box must be set to policy 3 when the Arduino is used for USB to PP conversion


Brain Invaders uses the version of the scenarios for software tagging. For the Emotiv page click here.