- 1 Introduction
- 2 OpenBCI Cyton Board
- 3 Steps to use OpenBCI_Module
- 4 Parameters:OpenBCI_Module
- 5 Troubleshooting Guide
- 6 Little Bug Note
- 7 See also
OpenBCI_Module can acquire data from OpenBCI Cyton-Daisy board through serial port. It can automatically Open port, Set up Baud Rate and Set up Parity.
The OpenBCI is a low-cost, high-quality biosensing hardware for brain computer interfacing. This arduino compatible biosensing board provides high resolution imaging and recording of EMG, ECG, and EEG signals. This device has been used by researchers, makers, and hobbyists in over 60+ countries as brain computer interfaces to power machines and map brain activity. OpenBCI allows anyone interested in biosensing and neurofeedback to purchase high quality equipment at affordable prices.
More information on OpenBCI can be found at: 
OpenBCI Cyton Board
Cyton Board Specs
Power with 3-6V DC Battery ONLY
PIC32MX250F128B Micrcontroller with chipKIT UDB32-MX2-DIP bootloader
ADS1299 Analog Front End
LIS3DH 3 axis Accelerometer
RFduino BLE radio
Micro SD card slot
Voltage Regulation (3V3, +2.5V, -2.5V)
Board Dimensions 2.41” x 2.41” (octogon has 1” edges)
Mount holes are 1/16” ID, 0.8” x 2.166” on center
Program pins for bootloading PIC, PGC, PGD, VDD, MCLR, GND
Serial pins for programming RFduino, RFTX, RFRX, RFRST, GND
SPI bus pins on the 3V side for Daisy Module expansion DVDD, GND, MISO, MOSI, SCK, CS, CLK, RST
Unused PIC32 pins D11 (A5), D12 (A6), D13 (A7), D17, D18
The RST pushbutton is connected to MCLR on the PIC. Pressing it will reset the PIC. To put the PIC into bootloader mode so that it can be re-programmed, press the RST button and hold it down. Then press the PROG button. Then release the RST button, and the blue LED will blink pleasantly, announcing that the PIC is ready to accept new code.
Slide switch is power for the board. The slide switch has three positions:
BLE activates a pull-up on RFduino pin 4
OFF disconnects the battery input
PC does NOT activate pull-up on RFduino pin 4
In order to use more than 8 channels, an extension board must be plugged in. With an extension board present, the sampling rate will reduce to half of the original sampling rate and a linear interpolation will be used for up-sampling. The pins on the extension board have the same name as pins on the main board. The index for each channel on the extension board is equal to the pin number plus 8. The ground pin on the extension board also needs to be connected to ground.
Cyton-Daisy Board (Cyton board with Extension board)
Steps to use OpenBCI_Module
1. Plug in Bluetooth dongle via USB to your system and switch its mode to "GPIO_6" if it is set to "RESET" (using a button on the left side of dongle).
2. Switch the OpenBCI board to "PC mode" from "OFF" or "BLE" mode (using a button on the right side of the board).
3. If you want to use 16 channels mode, plug in the extension ("Daisy") board.
4. Go to the following directory "./BCI2000.x64/src/contrib/SignalSource/OpenBCI_Module" and open the file "README.txt" and perform as instructed.
5. Now, go to the following directory "./BCI2000.x64/batch" and RUN OpenBCI_Module.
5. After running it, you will see a dialog box with following options: CONFIG, SET CONFIG, START, QUIT.
6. If you want to configure as per your own wish, click on CONFIG, else click on SET CONFIG which sets the default configuration that uses 8 channels.
7. After the module is connected and successfully working, you can click on START.
8. Users can see the current working condition of the hardware from Operator Log.
9. Click on QUIT to stop everything.
Default Parameter Configuration with 8 Channels and SampleBlockSize=125 (500ms)
Parameter Configuration with 16 Channels and SampleBlockSize=25 (100ms)
The total number of channels: EEG.
Samples per channel per digitized block. Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 500 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) will be updated 25 times per second. For OpenBCI Cyton the sampling rate is 250Hz and it sends data to buffer every half second. So the suggested value for sample block size is 125. Note that more frequent updating than two times per second is not possible without altering the OpenBCI firmware.
The sample rate of the system. All data is either acquired at 250Hz In case you are experiencing problems by higher sampling rates (e.g., data loss, jerky display, etc.), increase the SampleBlockSize so that you are updating the system less frequently (usually, updating the system 20-30 times per second is sufficient for most applications), and increase Visualize->VisualizeSourceDecimation. This parameter will decrease the number of samples per second that are actually drawn in the Source display.
Names of each channel.
Offset for each channel.
Gain for each channel.
The name of the port where the Bluetooth dongle is attached to. Once the experimenter plugs in the dongle, you can obtain the port name through Devices and Printers in Windows.
User setting specific to your amp.
The Channel Gain for any channel could be 1 2 4 6 8 12 24(Default)
Define your own channel list. The default list is 1 2 3 4 5 6 7 8 for 8 channels and similarly 1-16 for 16 channels.
Problem: Trouble connecting device via COM port or No handshaking.
Possible reason: Bluetooth communication issues possibly due to the bluetooth of your system trying to connect to the device.
Suggested Solution: Turn Off your system's bluetooth and then retry connecting.
Little Bug Note
After running the OpenBCI Module with 16 channels and SampleBlockSize of 25, in the timing window, there's latency of around a minute after which it shows the expected output (or straight) line by default. This needs to be resolved.