
BrainFlow Signal
Category:
AddIn:
Scope:
Code Snippets:
Supports Material List:
Status Screen Widgets:
License:
Signal Acquisition
BrainFlow BioBoards
Global
no
no
no
Standard EventIDE license
In this article:
Introduction
The BrainFlow Signal element provides a direct connection between EventIDE and a wide range of biosignal acquisition boards supported by the BrainFlow library, such as EEG, EMG, and ECG devices. It enables real-time data streaming, configuration of acquisition parameters, and integration of signals into EventIDE’s analysis pipeline.
This element is ideal for neuroscience, psychophysiology, BCI, and biomedical experiments requiring synchronized biosignal input. It can also emulate signals for testing purposes when hardware is not connected.
Main Features
Direct BrainFlow Integration – Supports a wide range of EEG, EMG, ECG, and other biosignal boards.
Multiple Connection Modes – Configure serial, TCP/IP, or file-based streaming.
Signal Generator – Simulate biosignals for development and testing without hardware.
Channel Selection – Choose which channels are registered in EventIDE’s signal pool.
Runtime Control – Reset buffers and acquisition without restarting the experiment.
Supported Bio-Amplifiers
OpenBCI Cyton (EEG/EMG/ECG)
OpenBCI Cyton Daisy (EEG/EMG/ECG)
OpenBCI Ganglion (EEG/EMG/ECG)
OpenBCI Cyton (Wi‑Fi) (EEG/EMG/ECG)
OpenBCI Ganglion (Wi‑Fi) (EEG/EMG/ECG)
BrainBit (EEG)
Callibry (EMG/ECG/RESP)
g.tec Unicorn Hybrid Black (EEG)
Neurosity Crown (EEG)
OYMotion gForcePro Armband (EMG/IMU)
FreeEEG32 (EEG)
Muse S (EEG/PPG/ACC)
Muse 2 (EEG/PPG/ACC)
Muse 2016 (EEG/ACC)
ANT Neuro eego mylab (EEG)
Enophone (EEG)
BrainAlive Headset (EEG)
Mentalab Explore 4ch (EEG)
Mentalab Explore 8ch (EEG)
EmotiBit (EDA/PPG/ACC/TEMP)
PiEEG (EEG/EMG/ECG)
Properties
Name | Description | Property Class | Type |
Query Board Info | Retrieves and displays information about the selected board. | Design | String |
Board Model | Defines the model of the selected board. | Design | Int32 |
Board Preset | Defines the index of the board preset, when supported. | Design | Int32 |
COM Port | Name of the serial port, if the board is connected via COM. | Design | String |
Timeout (ms) | Connection timeout in milliseconds. | Design | Int32 |
IP Protocol | Network protocol (e.g., 0 for IP_TCP). | Design | Int32 |
IP Address | Board IP address for network connection. | Design | String |
IP Port | Network port number. | Design | Int32 |
Ancillary IP Port | IP port number for ancillary communication. | Design | Int32 |
Auxiliary IP Port | IP port number for auxiliary communication. | Design | Int32 |
MAC Address | Board MAC address. | Design | String |
Master Board ID | ID of the master board. | Design | Int32 |
Serial Number | Serial number of the board. | Design | String |
Data File | Path to the main data file. | Design | String |
Auxiliary Data File | Path to the auxiliary data file. | Design | String |
Ancillary Data File | Path to the ancillary data file. | Design | String |
Signal Generator | Enables generation of synthetic signals instead of using hardware. Useful for test runs. | Design | Boolean |
Emulated Sampling Rate | Sampling rate (Hz) for emulated or file-streamed data. | Design | Double |
Primary Frequency | Frequency (Hz) of the primary rhythm in the generated signal. Set to 0 to exclude. | Design | Double |
Secondary Frequency | Frequency (Hz) of the secondary rhythm (half the magnitude of the primary). Set to 0 to exclude. | Design | Double |
Noise Level | Noise level (% of primary frequency magnitude) added to the generated signal. Set to 0 to exclude noise. | Design | Double |
Selected Channels | List of channels selected for acquisition in EventIDE. These are registered in the signal pool. | Design | List`1 |
Selected Channel Count | Number of currently selected channels. | Status | Int32 |
Total Channel Count | Total number of channels available for acquisition. | Status | Int32 |
Buffer Size | Size (samples) of the circular buffer storing incoming data. | Design | Int32 |
Reset Signals Now | Runtime command to reset signal buffers and data acquisition. | Runtime Command | Boolean |
Is Enabled | If set to false, the element is completely omitted when the experiment is run. | Design | Boolean |
Title | Title of the element. | Design | String |
Practical Use
Live Biosignal Acquisition
Connect a BrainFlow-supported board and configure the Board Model and Connection Settings.
Select channels in Selected Channels to make them available for analysis.
Stream the data in real time into EventIDE’s signal processing elements.
Signal Emulation for Testing
Enable Signal Generator.
Configure Emulated Sampling Rate, Primary/Secondary Frequencies, and Noise Level.
Run experiments without requiring connected hardware.
Notes
Use Reset Signals Now to clear buffers if acquisition needs to restart mid-experiment.
The Signal Generator mode is helpful for debugging experiment logic before moving to real hardware.
For high-frequency sampling, ensure Buffer Size is large enough to prevent data loss.
Example
You might select EEG channels 1 or 2 in Selected Channels, enable the Signal Generator for pre-testing, and later switch to a live board model with identical acquisition parameters to ensure a seamless transition to hardware recording.
