From BCI2000 Wiki
Jump to: navigation, search


The ModularEEG is a GPL-licensed EEG-amplifier designed by Joerg Hansmann. The schematics, PCBs and design-documents were released to the OpenEEG - community in the year 2002. (see [1]) .




  • Christoph Veigl, FORTEC-Institute,Technical University Vienna, Austria
  • Gerwin Schalk, Brain-Computer Interface Research and Development Program, Wadsworth Center, New York State Department of Health

Version History

Version 1, November 02, 2005.

Source Code Revisions

  • Initial development: 947
  • Tested under: 947
  • Known to compile under: 1528
  • Broken since: --

Functional Description

The ModularEEG is a low cost EEG-system that consists of a microcontroller-based digitizer board and one, two or three analog boards. Each analog board can capture two EEG-signals. Thus, the Modular EEG can transmit two, four or six channels of EEGdata. The transmission to the host-PC or PDA is done via serial RS232-connection. USB-converters can be used, common baudrates are 56700 or 115200 bits per second. Be aware that the isolation-barrier for user safety is only 5kV, which does not meet the criteria for a medical device. The ModularEEG may not be used for clinical applications. For details and filter specifications please refer to the design documentation. (ModularEEG_design.pdf)

Data Storage/Calibration

The ModularEEG has a 10bit-A/D-converter and transmits EEG-channel data in high byte / low byte format. The gain settings can be adjusted with potentiometers on the analog boards. A 14Hz 250uV – Calibration Signal is provided by the digital unit. When calibration is set to +/250uV, the value 0 corresponds to -250uV and the value 1024 corresponds to 250uV. BCI2000 Signal Processing or any offline analysis routine can derive, as with any other BCI2000 source module, sample values in uV by subtracting, from each stored sample, SourceChOffset (i.e., zero), and multiplying it with SourceChGain for each channel.



Number of the Serial Port the ModularEEG is connected to.


Transmission Protocol. There are currently 3 different Protocols for data transmission from or to the EEG-device.

  • The oldest and most-compatible Protocol is called P2, it transmits all 6 channels (even in case there are only two connected) and uses unidirectional communication to the host computer. The P2 protocol is compatible to other EEG-Applications like "Electric Guru". A P2-packet consists of 17 bytes.
  • P3 is a newer, more compact format. A 6-channel data packet has 11 bytes, the transmission of only 4 or 2 channels is possible. There are two firmware versions that are currently in experimental stage. The corresponding protocols are bi-directional and allow to send command frames to the ModularEEG.


When this option is selected, sinewaves are generated instead of using real time EEG data. The amplitude and frequency of the sinewaves can be adjusted by moving the mouse.


Samples per digitized block.


The sampling rate for the EEG data. Currently, this is fixed to 256 Hz. New firmware versions will support adjustments of the sampling rate.


The number of channels (2, 4 or 6)



See also

User Reference:Filters, Contributions:ADCs