Jump to content

Contributions:OpenBCISource: Difference between revisions

From BCI2000 Wiki
Pbrunner (talk | contribs)
No edit summary
Mellinger (talk | contribs)
 
(33 intermediate revisions by 3 users not shown)
Line 1: Line 1:
OpenBCISource
OpenBCISource


==Function==
==Introduction==


The ''LiveAmpADC'' filter acquires data from a ''LiveAmp'' wireless (Bluetooth) amplifier.
===OpenBCISource===
The ''LiveAmp'' is an amplifier/digitizer combination from Brain Products.
Support for this device in BCI2000 consists of a BCI2000-compatible Source Module (''LiveAmpSource.exe'').


===LiveAmp Hardware===
OpenBCISource can acquire data from OpenBCI Cyton board through serial port. It can automatically open a port, set up baud rate and set up parity.


Either up to 32 referential EEG/ExG channels (with either passive or active electrodes) or up to 24 EEG/ExG referential channels plus up to 8 bipolar ExG channels (with passive electrodes only).\\
===OpenBCI===
8 AUX channel can be attached to AUX input, using AUXbox. Tehre si one Trigger channel and 8 Digital I/=.
There are built-in 3-axis acceleration sensor with 3 separate channels (x, y, z).\\
More on hardware can be found at: [http://www.brainproducts.com/productdetails.php?id=63 LiveAmp Technical details].


==Installation==
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.


The BlueTooth dongle UBT21 must be installed first. The driver comes with the LiveAmp.
More information on OpenBCI can be found at: [http://openbci.com/]


==Parameters:LiveAmpADC==
==OpenBCI Cyton Board==
Parameters common to all source modules are described under [[User Reference:DataIOFilter]].
[[File:Cyton.PNG| 500px| center| ]]
In addition, the ''LiveAmpADC'' provides the following parameters:
===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
 
===Breakout Pins===
 
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
 
===Push Buttons===
 
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===
 
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
 
===Extension Board===
 
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.
 
==Steps to use OpenBCISource==


[[File:Cyton.PNG| 500px| center| ]]
1.Plug in Bluetooth dongle and turn OpenBCI board to PC mode.
 
2.Check the port of the Bluetooth dongle
 
3.If use 16 channels mode, plug in the extension board.
 
3.Run OpenBCISource and specify the list of channels.
 
4.Click start button.
 
5.User can see the current working condition of the hardware from operator log
 
==Parameters:OpenBCISource==


===SerialNumber===
[[File:OpenBCISource.PNG| 500px| center| ]]
Each LiveAmp has the serial number. The serial number can be found on the back of the amplifier. This number must be set as a parameter (without letters "LA-"). It is necessary for the Bluetooth connection


===SourceCh===
===SourceCh===
The total number of channels: EEG + AUX + Acc + Triggers (see parameters below).  
The total number of channels: EEG.


===SampleBlockSize===
===SampleBlockSize===
Samples per channel per digitized block.  
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.
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.


===SamplingRate===
===SamplingRate===
The sample rate of the system. All data is either acquired at 250, 500 or 1000Hz
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.
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.


Line 47: Line 105:
Names of each channel.
Names of each channel.


===AcquisitionMode===
===PortName===
Data acquisition mode, it can be:
The name of the port where the Bluetooth dongle is attached to. Once the experimenter plugs in the dongle, he can obtain the port name through ''Devices and Printers'' in Windows.
*inactive - no recording
*analog signal acquisition - standard recording mode
*test signal - a test signal, same on all channels
 
==Parameters:LiveAmp==
 
===EegChList===
List of indexes of EEG channels used. For example, you can write index in any order, like: 21, 3, 5, 6, 7, 8 (the order of channels does not matter). That means that only 6 EEG physical channels will be recorder: 3,5,6,7,8 and 21. Channels may not be listed twice.
 
===BipolarChannels===
Checking this option the last 8 of 32 channels will be bipolar. When user wants to record bipolar channel, he/she must put appropriate indexes in the 'EegCHList' (indexes between 25 and 32).
 
===AuxChList===
List of indexes of AUX channels. For example, if there are 6 AUX available, you can put 1, 2, 5, 6. That mans that only 4 AUX channel will be recorder, with indexes 1,2, 5 and 6.
 
===ACCList===
List of indexes of Acc (acceleration sensor) channels. There are 3 Acc channels, with indexes 1(x), 2(y) and 3(z).
 
===TriggerChList===
List of indexes of trigger channels. There is one analog and 8 digital channels. The order of indexes can be used in the same manner as EEG and AUX channel indexes.  


==See also==
==See also==

Latest revision as of 15:49, 29 June 2025

OpenBCISource

Introduction

OpenBCISource

OpenBCISource can acquire data from OpenBCI Cyton board through serial port. It can automatically open a port, set up baud rate and set up parity.

OpenBCI

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: [1]

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

Breakout Pins

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

Push Buttons

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

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

Extension Board

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.

Steps to use OpenBCISource

1.Plug in Bluetooth dongle and turn OpenBCI board to PC mode.

2.Check the port of the Bluetooth dongle

3.If use 16 channels mode, plug in the extension board.

3.Run OpenBCISource and specify the list of channels.

4.Click start button.

5.User can see the current working condition of the hardware from operator log

Parameters:OpenBCISource

SourceCh

The total number of channels: EEG.

SampleBlockSize

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.

SamplingRate

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.

SourceChGain

Gain for each channel.

SourceChOffset

Offset for each channel.

ChannelNames

Names of each channel.

PortName

The name of the port where the Bluetooth dongle is attached to. Once the experimenter plugs in the dongle, he can obtain the port name through Devices and Printers in Windows.

See also

User Reference:Filters, Contributions:ADCs