Supported Boards

To create an instance of BoardShim class for your board check required inputs in the table below:

Required inputs

Board

Board Id

BrainFlowInputParams.serial_port

BrainFlowInputParams.mac_address

BrainFlowInputParams.ip_address

BrainFlowInputParams.ip_port

BrainFlowInputParams.ip_protocol

BrainFlowInputParams.other_info

BrainFlowInputParams.timeout

BrainFlowInputParams.serial_number

BrainFlowInputParams.file

Playback Board

BoardIds.PLAYBACK_FILE_BOARD (-3)

Board Id of master board

path to file for playback

Streaming Board

BoardIds.STREAMING_BOARD (-2)

multicast IP address

port

Board Id of master board

Synthetic Board

BoardIds.SYNTHETIC_BOARD (-1)

Cyton

BoardIds.CYTON_BOARD (0)

dongle serial port(COM3, /dev/ttyUSB0, /dev/cu.usbserial-xxxxxx…)

Ganglion

BoardIds.GANGLION_BOARD (1)

dongle serial port(COM3, /dev/ttyUSB0…)

Optional: Ganglion’s MAC address

Timeout for device discovery(default 15sec)

Cyton Daisy

BoardIds.CYTON_DAISY_BOARD (2)

dongle serial port(COM3, /dev/ttyUSB0, /dev/cu.usbserial-xxxxxx…)

Ganglion WIFI

BoardIds.GANGLION_WIFI_BOARD (4)

WIFI Shield IP(default 192.168.4.1)

any local port which is free

Timeout for HTTP response(default 10sec)

Cyton WIFI

BoardIds.CYTON_WIFI_BOARD (5)

WIFI Shield IP(default 192.168.4.1)

any local port which is free

Timeout for HTTP response(default 10sec)

Cyton Daisy WIFI

BoardIds.CYTON_DAISY_WIFI_BOARD (6)

WIFI Shield IP(default 192.168.4.1)

any local port which is free

Timeout for HTTP response(default 10sec)

BrainBit

BoardIds.BRAINBIT_BOARD (7)

Timeout for device discovery(default 15sec)

Optional: Serial Number of BrainBit device

Unicorn

BoardIds.UNICORN_BOARD (8)

Optional: Serial Number of Unicorn device

CallibriEEG

BoardIds.CALLIBRI_EEG_BOARD (9)

Optional: ExternalSwitchInputMioUSB (default is ExternalSwitchInputMioElectrodes)

Timeout for device discovery(default 15sec)

CallibriEMG

BoardIds.CALLIBRI_EMG_BOARD (10)

Optional: ExternalSwitchInputMioUSB (default is ExternalSwitchInputMioElectrodes)

Timeout for device discovery(default 15sec)

CallibriECG

BoardIds.CALLIBRI_ECG_BOARD (11)

Optional: ExternalSwitchInputMioUSB (default is ExternalSwitchInputMioElectrodes)

Timeout for device discovery(default 15sec)

Notion 1

BoardIds.NOTION_1_BOARD (13)

Optional: serial number

Notion 2

BoardIds.NOTION_2_BOARD (14)

Optional: serial number

GforcePro

BoardIds.GFORCE_PRO_BOARD (16)

FreeEEG32

BoardIds.FREEEEG32_BOARD (17)

dongle serial port

BrainBitBLED

BoardIds.BRAINBIT_BLED_BOARD (18)

dongle serial port

Optional: MAC address

GforceDual

BoardIds.GFORCE_DUAL_BOARD (19)

MuseSBLED

BoardIds.MUSE_S_BLED_BOARD (21)

dongle serial port

Optional: device name

Muse2BLED

BoardIds.MUSE_2_BLED_BOARD (22)

dongle serial port

Optional: device name

Crown

BoardIds.CROWN_BOARD (23)

Optional: serial number

AntNeuroBoardEE410

BoardIds.ANT_NEURO_EE_410_BOARD (24)

AntNeuroBoardEE411

BoardIds.ANT_NEURO_EE_411_BOARD (25)

AntNeuroBoardEE430

BoardIds.ANT_NEURO_EE_430_BOARD (26)

AntNeuroBoardEE211

BoardIds.ANT_NEURO_EE_211_BOARD (27)

AntNeuroBoardEE212

BoardIds.ANT_NEURO_EE_212_BOARD (28)

AntNeuroBoardEE213

BoardIds.ANT_NEURO_EE_213_BOARD (29)

AntNeuroBoardEE214

BoardIds.ANT_NEURO_EE_214_BOARD (30)

AntNeuroBoardEE215

BoardIds.ANT_NEURO_EE_215_BOARD (31)

AntNeuroBoardEE221

BoardIds.ANT_NEURO_EE_221_BOARD (32)

AntNeuroBoardEE222

BoardIds.ANT_NEURO_EE_222_BOARD (33)

AntNeuroBoardEE223

BoardIds.ANT_NEURO_EE_223_BOARD (34)

AntNeuroBoardEE224

BoardIds.ANT_NEURO_EE_224_BOARD (35)

AntNeuroBoardEE225

BoardIds.ANT_NEURO_EE_225_BOARD (36)

Enophone

BoardIds.ENOPHONE_BOARD (37)

MAC adress

Playback File Board

This board playbacks file recorded using another BrainFlow board.

It allows you to test signal processing algorithms on real data without device.

To choose this board in BoardShim constructor please specify:

  • board_id: -3

  • other_info field of BrainFlowInputParams structure should contain board_id of device used to create playback file

  • file field of BrainFlowInputParams structure

Supported platforms:

  • Windows >= 8.1

  • Linux

  • MacOS

By default it generates new timestamps and stops at the end of the file. You can override it using commands:

board.config_board ('loopback_true')
board.config_board ('loopback_false')
board.config_board ('new_timestamps')
board.config_board ('old_timestamps')

In methods like:

get_eeg_channels (board_id)
get_emg_channels (board_id)
get_ecg_channels (board_id)
# .......

You need to use master board id instead Playback Board Id, because exact data format for playback board is controlled by master board as well as sampling rate.

Board Specs:

  • num eeg(emg,…) channels: like in master board

  • num acceleration channels: like in master board

  • sampling rate: like in master board

  • communication: None

Streaming Board

BrainFlow’s boards can stream data to different destinations like file, socket and so on. This board acts like a consumer for data streamed from the main process.

To use it in the first process you should call:

# choose any valid multicast address(from "224.0.0.0" to "239.255.255.255") and port
start_stream (450000, 'streaming_board://225.1.1.1:6677')

In the second process please specify:

  • board_id: -2

  • ip_address field of BrainFlowInputParams structure, for example above it’s 225.1.1.1

  • ip_port field of BrainFlowInputParams structure, for example above it’s 6677

  • other_info field of BrainFlowInputParams structure, write there board_id for a board which acts like data provider(master board)

Supported platforms:

  • Windows >= 8.1

  • Linux

  • MacOS

In methods like:

get_eeg_channels (board_id)
get_emg_channels (board_id)
get_ecg_channels (board_id)
# .......

You need to use master board id instead Streaming Board Id, because exact data format for streaming board is controlled by master board as well as sampling rate.

Board Specs:

  • num eeg(emg,…) channels: like in master board

  • num acceleration channels: like in master board

  • sampling rate: like in master board

  • communication: UDP multicast socket to read data from master board

Synthetic Board

This board generates synthetic data and you dont need real hardware to use it.

It can be extremely useful during development.

To choose this board in BoardShim constructor please specify:

  • board_id: -1

  • you dont need to set any fields in BrainFlowInputParams structure

Supported platforms:

  • Windows >= 8.1

  • Linux

  • MacOS

  • Android

Board Specs:

  • num eeg(emg,…) channels: 8

  • num acceleration channels: 3

  • sampling rate: 256

  • communication: None

OpenBCI

Cyton

https://i.ibb.co/cNj9pyf/Cyton.jpg

Cyton Getting Started Guide from OpenBCI

To choose this board in BoardShim constructor please specify:

  • board_id: 0

  • serial_port field of BrainFlowInputParams structure

Supported platforms:

  • Windows >= 8.1

  • Linux

  • MacOS

On MacOS there are two serial ports for each device: /dev/tty….. and /dev/cu….. You HAVE to specify /dev/cu…..

Also, on Unix-like systems you may need to configure permissions for serial port or run with sudo.

Board Spec:

  • num eeg(emg,…) channels: 8

  • num acceleration channels: 3

  • sampling rate: 250

  • communication: serial port

  • signal gain: 24

Ganglion

https://live.staticflickr.com/65535/48288408326_7f078cd2eb.jpg

Ganglion Getting Started Guide from OpenBCI

To use Ganglion board you need a dongle

Also, on Unix-like systems you may need to configure permissions for serial port or run with sudo.

To choose this board in BoardShim constructor please specify:

  • board_id: 1

  • serial_port field of BrainFlowInputParams structure

  • mac_address field of BrainFlowInputParams structure, if its empty BrainFlow will try to autodiscover Ganglion

  • optional: timeout field of BrainFlowInputParams structure, default is 15sec

To get Ganglion’s MAC address you can use:

Supported platforms:

  • Windows >= 8.1

  • Linux

  • MacOS

On MacOS there are two serial ports for each device: /dev/tty….. and /dev/cu….. You HAVE to specify /dev/cu…..

Board Spec:

  • num eeg(emg,…) channels: 4

  • num acceleration channels: 3

  • sampling rate: 200

  • communication: Bluetooth Low Energy behind serial port from the dongle

Cyton Daisy

https://live.staticflickr.com/65535/48288597712_7ba142797e.jpg

CytonDaisy Getting Started Guide from OpenBCI

To choose this board in BoardShim constructor please specify:

  • board_id: 2

  • serial_port field of BrainFlowInputParams structure

Supported platforms:

  • Windows >= 8.1

  • Linux

  • MacOS

On MacOS there are two serial ports for each device: /dev/tty….. and /dev/cu….. You HAVE to specify /dev/cu…..

Also, on Unix-like systems you may need to configure permissions for serial port or run with sudo.

Board Spec:

  • num eeg(emg,…) channels: 16

  • num acceleration channels: 3

  • sampling rate: 125

  • communication: serial port

  • signal gain: 24

Ganglion with WIFI Shield

https://live.staticflickr.com/65535/48836544227_05059fc450_b.jpg

WIFI Shield Getting Started Guide from OpenBCI

WIFI Shield Programming Guide from OpenBCI

To choose this board in BoardShim constructor please specify:

  • board_id: 4

  • ip_address field of BrainFlowInputParams structure should contain WiFi Shield Ip address(in direct mode its 192.168.4.1), if it’s empty BrainFlow will try to autodiscover WIFI Shield and in case of failure will try to use 192.168.4.1

  • ip_port field of BrainFlowInputParams structure should be any local port which is free right now

  • optional: timeout field of BrainFlowInputParams structure, default is 10sec

Supported platforms:

  • Windows >= 8.1

  • Linux

  • MacOS

  • Android

Board Spec:

  • num eeg(emg,…) channels: 4

  • num acceleration channels: 3

  • sampling rate: 1600

  • communication: TCP socket to read data and HTTP to send commands

Cyton with WIFI Shield

https://live.staticflickr.com/65535/48836367066_a8c4b6d3be_b.jpg

WIFI shield Getting Started Guide from OpenBCI

WIFI shield Programming Guide from OpenBCI

To choose this board in BoardShim constructor please specify:

  • board_id: 5

  • ip_address field of BrainFlowInputParams structure should contain WiFi Shield Ip address(in direct mode its 192.168.4.1), if it’s empty BrainFlow will try to autodiscover WIFI Shield and in case of failure will try to use 192.168.4.1

  • ip_port field of BrainFlowInputParams structure should be any local port which is free right now

  • optional: timeout field of BrainFlowInputParams structure, default is 10sec

Supported platforms:

  • Windows >= 8.1

  • Linux

  • MacOS

  • Android

Board Spec:

  • num eeg(emg,…) channels: 8

  • num acceleration channels: 3

  • sampling rate: 1000

  • communication: TCP socket to read data and HTTP to send commands

  • signal gain: 24

CytonDaisy with WIFI Shield

https://live.staticflickr.com/65535/48843419918_f11c90deb0_k.jpg

WIFI Shield Getting Started Guide from OpenBCI

WIFI Shield Programming Guide from OpenBCI

To choose this board in BoardShim constructor please specify:

  • board_id: 6

  • ip_address field of BrainFlowInputParams structure should contain WiFi Shield Ip address(in direct mode its 192.168.4.1), if it’s empty BrainFlow will try to autodiscover WIFI Shield and in case of failure will try to use 192.168.4.1

  • ip_port field of BrainFlowInputParams structure should be any local port which is free right now

  • optional: timeout field of BrainFlowInputParams structure, default is 10sec

Supported platforms:

  • Windows >= 8.1

  • Linux

  • MacOS

  • Android

Board Spec:

  • num eeg(emg,…) channels: 16

  • num acceleration channels: 3

  • sampling rate: 1000

  • communication: TCP socket to read data and HTTP to send commands

  • signal gain: 24

NeuroMD

BrainBit

https://live.staticflickr.com/65535/49579371806_80b1bffae1.jpg

BrainBit website

To choose this board in BoardShim constructor please specify:

  • board_id: 7

  • optional: serial_number field of BrainFlowInputParams structure should contain Serial Number of BrainBit device, use it if you have multiple devices

  • optional: timeout field of BrainFlowInputParams structure, default is 15sec

Supported platforms:

  • Windows >= 10

  • MacOS

Board Spec:

  • num eeg channels: 4

  • num acceleration channels: None

  • sampling rate: 250

  • communication: Bluetooth Low Energy

BrainBitBLED

This board allows you to use BLED112 dongle instead native API to work with BLE. Unlike original BrainBit libraries it works on Linux and devices like Raspberry Pi.

To choose this board in BoardShim constructor please specify:

  • board_id: 18

  • serial port field of BrainFlowInputParams structure

  • optional: MAC address for your BrainBit device

Supported platforms:

  • Windows

  • MacOS

  • Linux

  • Devices like Raspberry Pi

Board Spec:

  • num eeg channels: 4

  • num acceleration channels: None

  • sampling rate: 250

  • communication: Bluetooth Low Energy with serial port dongle

Callibri(Yellow)

https://live.staticflickr.com/65535/49906443867_315307d6fc_w.jpg

Callibri website

Callibri can be used to record EMG, ECG and EEG, but based on signal type you need to apply different settings for device.

BrainFlow does it for you, so there are:

  • CALLIBRI_EEG_BOARD (board_id 9)

  • CALLIBRI_EMG_BOARD (board_id 10)

  • CALLIBRI_ECG_BOARD (board_id 11)

To choose this board in BoardShim constructor please specify:

  • board_id: 9, 10 or 11 based on data type

  • optional: to use electrodes connected vis USB write “ExternalSwitchInputMioUSB” to other_info field of BrainFlowInputParams structure

  • optional: timeout field of BrainFlowInputParams structure, default is 15sec

Supported platforms:

  • Windows >= 10

  • MacOS

Board Spec:

  • num exg channels: 1

  • num acceleration channels: None

  • communication: Bluetooth Low Energy

G.TEC

Unicorn

https://live.staticflickr.com/65535/49740988577_c54162024d_h.jpg

Unicorn website

To choose this board in BoardShim constructor please specify:

  • board_id: 8

  • optional: serial_number field of BrainFlowInputParams structure should contain Serial Number of BrainBit device, use it if you have multiple devices

Supported platforms:

  • Ubuntu 18.04, may work on other Linux OSes, it depends on dynamic library provided by Unicorn

  • Windows

  • May also work on Raspberry PI, if you replace libunicorn.so by library provided by Unicorn for Raspberry PI

Steps to Setup:

  • Connect the dongle

  • Make sure that you paired Unicorn device with PC using provided dongle instead built-in Bluetooth

Board Spec:

  • num eeg channels: 8

  • num acceleration channels: 3

  • sampling rate: 250

  • communication: Bluetooth Low Energy

Neurosity

Notion 1

https://live.staticflickr.com/65535/51302873810_715f51b408.jpg

Neurosity website

Link to Neurosity Tutorial

To choose this board in BoardShim constructor please specify:

  • board_id: 13

  • optional: Serial Number field of BrainFlowInputParams structure, important if you have multiple devices in the same place

Supported platforms:

  • Windows

  • Linux

  • MacOS

Note: On Windows you may need to disable firewall to allow broadcast messages.

Board Spec:

  • num eeg channels: 8

  • sampling rate: 250

  • communication: UDP BroadCast

Notion 2

https://live.staticflickr.com/65535/51302045358_b375380804.jpg

Neurosity website

Link to Neurosity Tutorial

To choose this board in BoardShim constructor please specify:

  • board_id: 23

  • optional: Serial Number field of BrainFlowInputParams structure, important if you have multiple devices in the same place

Supported platforms:

  • Windows

  • Linux

  • MacOS

Note: On Windows you may need to disable firewall to allow broadcast messages.

Board Spec:

  • num eeg channels: 8

  • sampling rate: 250

  • communication: UDP BroadCast

Crown

https://live.staticflickr.com/65535/51301110182_9d05de3948.jpg

Neurosity website

Link to Neurosity Tutorial

To choose this board in BoardShim constructor please specify:

  • board_id: 23

  • optional: Serial Number field of BrainFlowInputParams structure, important if you have multiple devices in the same place

Supported platforms:

  • Windows

  • Linux

  • MacOS

Note: On Windows you may need to disable firewall to allow broadcast messages.

Board Spec:

  • num eeg channels: 8

  • sampling rate: 256

  • communication: UDP BroadCast

OYMotion

gForcePro ArmBand

https://live.staticflickr.com/65535/50760349443_368326974c_o.jpg

OYMotion website

To choose this board in BoardShim constructor please specify:

  • board_id: 16

Supported platforms:

  • Windows

Note: Unlike other boards it returns ADC value instead uV.

Board Spec:

  • num emg channels: 8

  • sampling rate: 500

gForceDual ArmBand

OYMotion website

To choose this board in BoardShim constructor please specify:

  • board_id: 19

Supported platforms:

  • Windows

Note: Unlike other boards it returns ADC value instead uV.

Board Spec:

  • num emg channels: 2

  • sampling rate: 500

FreeEEG32

FreeEEG32

https://live.staticflickr.com/65535/50587672267_2f23300f5e_c.jpg

CrowdSupply

To choose this board in BoardShim constructor please specify:

  • board_id: 17

  • serial_port field of BrainFlowInputParams structure

On Unix-like systems you may need to configure permissions for serial port or run with sudo.

Supported platforms:

  • Windows

  • Linux

  • MacOS

Board Spec:

  • num eeg channels: 32

  • sampling rate: 512

  • communication: Serial Port

Muse

Muse S BLED

https://live.staticflickr.com/65535/51249005962_026502fee0.jpg

Muse Website

To use this board you need to get BLED112 dongle.

Also, on Unix-like systems you may need to configure permissions for serial port or run with sudo.

To choose this board in BoardShim constructor please specify:

  • board_id: 21

  • serial port field of BrainFlowInputParams structure

  • optional: serial number(device name)

Supported platforms:

  • Windows

  • MacOS

  • Linux

  • Devices like Raspberry Pi

Board Spec:

  • num eeg channels: 4

  • num acceleration channels: 3

  • sampling rate: 250

  • communication: Bluetooth Low Energy with serial port dongle

Muse 2 BLED

https://live.staticflickr.com/65535/51250482419_32ce8454dd.jpg

Muse Website

To use this board you need to get BLED112 dongle.

Also, on Unix-like systems you may need to configure permissions for serial port or run with sudo.

To choose this board in BoardShim constructor please specify:

  • board_id: 22

  • serial port field of BrainFlowInputParams structure

  • optional: serial number(device name)

Supported platforms:

  • Windows

  • MacOS

  • Linux

  • Devices like Raspberry Pi

Board Spec:

  • num eeg channels: 4

  • num acceleration channels: 3

  • sampling rate: 250

  • communication: Bluetooth Low Energy with serial port dongle

Ant Neuro

https://live.staticflickr.com/65535/51331462280_580d890535.jpg

Ant Website

Ant Neuro has many devices and all of them are supported by BrainFlow:

  • ANT_NEURO_EE_410_BOARD (board id 24)

  • ANT_NEURO_EE_411_BOARD (board id 25)

  • ANT_NEURO_EE_430_BOARD (board id 26)

  • ANT_NEURO_EE_211_BOARD (board id 27)

  • ANT_NEURO_EE_212_BOARD (board id 28)

  • ANT_NEURO_EE_213_BOARD (board id 29)

  • ANT_NEURO_EE_214_BOARD (board id 30)

  • ANT_NEURO_EE_215_BOARD (board id 31)

  • ANT_NEURO_EE_221_BOARD (board id 32)

  • ANT_NEURO_EE_222_BOARD (board id 33)

  • ANT_NEURO_EE_223_BOARD (board id 34)

  • ANT_NEURO_EE_224_BOARD (board id 35)

  • ANT_NEURO_EE_225_BOARD (board id 36)

Supported platforms:

  • Windows

  • Linux

Enophone

Enophone Headphones

https://live.staticflickr.com/65535/51374388843_f60c07991e.jpg

Enophone website

To choose this board in BoardShim constructor please specify:

  • board_id: 37

  • mac address field of BrainFlowInputParams structure

Supported platforms:

  • Windows

  • Linux

  • MacOS

Steps to find MAC address:

  • On Windows: open device manager, navigate to enophone device, click properties and select Bluetooth Address

  • On Linux: install bluez-utils and run bluetoothctl paired-devices

  • On MacOS: run system_profiler SPBluetoothDataType

On Linux in order to compile and use it you may need to install :code:`libbluetooth-dev` for Debian like systems and :code:`bluez-libs-devel` for Fedora like.

Board Spec:

  • num emg channels: 4

  • sampling rate: 250

  • communication: Bluetooth