Skip to content

Integrations

Devices

Supported, Beta, R&D, Planned, Legacy and Not in public build items are labelled per section.

This page lists the device integrations of neuromore Studio and neuromore Engine, with transport, platforms, auto detection and status. Two topics have their own pages: BrainFlow boards, about twenty boards behind the BrainFlow node, and BrainBit connection and setup.

These docs show what the neuromore system can do. Community builds on GitHub do not include every device driver. Developers can add those drivers in their own source build. Commercial clients can get the integration as part of their custom build. Each device is labelled, so check the label before you buy hardware.

See Editions and licensing and Engine library and source builds.

  • Supported: implemented in the code and intended for use.
  • Beta: implemented and available, with documentation and validation still in progress.
  • R&D: designed or explored, not implemented end to end.
  • Planned: agreed target, not started.
  • Legacy: superseded, or dependent on a component no longer shipped.
  • Not in public build: not compiled into community builds. Available through a source build or a custom build, unless the entry says otherwise.
Device How it connects Platforms in community builds Status
Test Device Simulated, no hardware Windows, macOS, Linux Beta
OpenBCI Cyton Serial, USB dongle Windows, macOS (see note), Linux Supported
OpenBCI Cyton plus Daisy Serial, USB dongle Windows, macOS (see note), Linux Beta
SenseLabs Versus Serial, USB or Bluetooth Windows, macOS (see note), Linux Supported
InteraXon Muse OSC from muse-io Windows, macOS, Linux Beta
Neurosity Notion 1 and 2 OSC over the network Windows, macOS, Linux Supported
Neurosity Crown OSC over the network Windows, macOS, Linux Beta
eemagine eego (ANT Neuro) Vendor SDK Windows, Linux Beta
Mitsar EEG 201 OSC from a vendor connector Windows Beta
BrainMaster Discovery 20 Vendor library, serial over USB Windows x86 only Beta
Bluetooth LE heart-rate sensors Bluetooth LE Windows, macOS, Linux Supported
Mindfield eSense, accelerometer, gyroscope Engine C API only Engine only, no data source in Studio Beta
Gamepad None found No data source Beta
BrainBit See its section See its section BrainFlow on Windows (Legacy); native driver Planned
Emotiv, NeuroSky, Tobii, actiCHamp, ABM, Brainquiry Vendor SDKs Source build or custom build Not in public build

Note: On macOS, the app runs in a sandbox that declares USB and Bluetooth access, but no serial access. This may block devices that use a serial port.

Four mechanisms bring device data into the classifier.

  • Native driver. A driver in Studio opens a serial port, a Bluetooth link or a vendor SDK. Each driver has an “Enable” checkbox under NMStudio > Settings > Devices > Drivers.
  • BrainFlow node. The BrainFlow and Cyton nodes create their device from the node, with no scan. See BrainFlow boards.
  • OSC-fed device. Studio creates the device when OSC messages with a known address pattern arrive on the OSC input port. The default is UDP 4545, set under NMStudio > Settings > Network > OSC Server > Input UDP port.
  • Engine-only device. The device lives in the embeddable Engine library and receives samples from the host through the C API. See Engine library and source builds.

Which drivers and devices appear can depend on your neuromore account. If one is missing, contact neuromore.

NMStudio > Settings > Devices > Automatic Device Search applies to all drivers and is on by default. The Search button in the Devices window appears only while it is off. Search runs each enabled driver’s search once. For BrainFlow, it removes the first BrainFlow device, whatever its board, or adds a Synthetic board if there is none.

The Enable checkbox does not behave the same way for every driver:

  • OpenBCI: unticking “Enable OpenBCI Devices” does not stop the scan, which keeps opening FTDI serial ports. To stop it, turn off Automatic Device Search. Do this if you use the BrainFlow or Cyton node with the same board, so that the two don’t compete for the port.
  • SenseLabs Versus: ticking “Enable Senselabs Devices” does not start the scan. See SenseLabs Versus.
  • Models and channels: a simulated 8-channel headset at 128 Hz, with channels Pz, Cz, F3, F4, AF3, AF4, O1 and O2. It has no contact quality. Its node in the palette is named Test System.
  • Transport: none. The driver generates the signal.
  • Platforms: all.
  • Auto detection: the device appears when no other device exists, and goes away when a real device connects. “Enable Test Devices” is on by default.
  • Status: Beta.
  • Models and channels: Cyton, 8 EEG channels named 1 to 8 at 250 Hz. Cyton plus Daisy, 16 channels named 1 to 16 at 125 Hz, because the two boards alternate packets. Both add three accelerometer channels.

In 1.7.3: The 16 Daisy channels are named P3, P4, Oz, Fz, T5, T6, F3, F4, T3, T4, C3, C4, Cz, O1, O2 and Pz. A classifier that selects Daisy channels by name does not carry over between versions. Daisy also times out after 5 seconds without data, instead of 60.

  • Transport: serial over the OpenBCI USB dongle at 115200 baud, through the Qt serial port module. No vendor library.
  • Platforms: all. On macOS, the app runs in a sandbox that declares USB and Bluetooth access, but no serial access. This may block devices that use a serial port.
  • Auto detection: yes, enabled by default. The driver probes serial ports once per second, using the FTDI USB ID and any configured port, and picks Daisy when the board reports it. It skips ports it already uses. A note in the code warns that this detection may not work with the 32-bit board, which is the Cyton.

In 1.7.3: The scan does not skip ports the driver already uses.

  • Configured port: to name the port and board yourself, quit Studio. Create a Devices folder in Studio’s data folder if there is none, because Studio does not create it. Add a file ending in .json, for example with the content { "deviceType": "openbci", "serialPort": "COM5" }. Use openbci16 for Cyton plus Daisy. Then start Studio. It reads these files only once, during startup after you sign in. The driver then skips type detection. The code builds this folder path with a Windows separator, so rely on it on Windows only.
  • Contact quality: estimated in kOhm from signal deviation over one second, not measured by a lead-off test. There is no Test button.
  • Status: Supported for the 8-channel Cyton. Beta for Cyton plus Daisy. Ganglion has no native driver; use BrainFlow.
  • Step by step: the OpenBCI section of Biosensors.
  • Models and channels: 5 EEG channels Pz, C4, Fz, Cz, C3 at 250 Hz. The setup steps name the research edition with classic Bluetooth and exclude the consumer Bluetooth LE model. The driver itself only sees a serial port and cannot tell editions apart.
  • Transport: serial at 115200 baud over a USB CDC port or the Bluetooth SPP port of a device named VERSUS. On macOS and Linux the driver tries every serial port.
  • Platforms: all. The setup steps are written for Windows. On macOS, the app runs in a sandbox that declares USB and Bluetooth access, but no serial access. This may block devices that use a serial port.
  • Auto detection: yes, once per second, but disabled by default. The scan starts only when Automatic Device Search is switched on while the driver is already enabled. So after you tick “Enable Senselabs Devices”, and again after each Studio start, switch Automatic Device Search off and on.
  • Conflict: a code comment says the Bluetooth LE heart-rate driver stops working once the Versus driver is activated.
  • Status: Supported.
  • Step by step: the SenseLabs Versus section of Biosensors.
  • Models and channels: 4 EEG channels TP9, Fp1, Fp2, TP10 at 220 Hz, plus accelerometer, contact quality, blink, jaw clench and vendor scores, 18 sensors in all. The setup steps name the standard Muse, model MU-01, with the default preset. Studio reads the OSC stream from muse-io and cannot tell models apart, so what works depends on muse-io.
  • Transport: OSC only. The external program muse-io talks to the headband and sends OSC under /muse/<id>/. The number becomes the Studio device ID.
  • What you need: muse-io from the Muse SDK. It is not in the repository, and the packaging files don’t include it. On Windows, Tools > Start MuseIO appears when Muse\muse-io.exe sits next to the Studio executable. On macOS and Linux, the entry asks for the file and shows the command line to run.
  • Port: the command always sends to UDP port 4545. If you changed the Input UDP port, for example for Neurosity, Muse data won’t arrive until you change it back or, on macOS and Linux, edit the command.
  • Platforms: all. The setup steps cover Windows, macOS and Linux.
  • Auto detection: none. The device appears when OSC packets arrive.
  • Status: Beta. Depends on the external muse-io program.
  • Step by step: the InteraXon Muse section of Biosensors.
  • Models and channels: Notion 1 and Notion 2, 8 EEG channels CP5, F5, C3, CP3, CP6, F6, C4, CP4 at 250 Hz. Crown, 8 EEG channels CP3, C3, F5, PO3, PO4, F6, C4, CP4 at 256 Hz.
  • Transport: OSC over UDP to /neurosity/notion/<device>/raw and /info. The code sees only UDP. Earlier versions of the setup steps advised putting the headset and computer on the same WiFi network. The info message decides between Notion and Crown. The device ID is the last four hex characters of the device string.
  • What you need: OSC enabled in the Neurosity developer console, which is a vendor site and may have changed. NMStudio > Settings > Network > OSC Server > Input UDP port must match the port the headset sends to. The setup steps use 9000. Set the Device Number of the Notion or Crown node to the shown device ID plus 1.
  • Platforms: all. The setup steps cover Windows, macOS and Linux.
  • Auto detection: none. The device appears when OSC packets arrive.
  • Status: Supported for Notion 1 and Notion 2. Beta for Crown.
  • Step by step: the Neurosity section of Biosensors.
  • Models and channels: eSense GSR, one input named GSR in microsiemens at a nominal 10 Hz with a variable rate flag.
  • Transport: no Studio driver and no OSC address. A host application pushes samples through the Engine C API.
  • Platforms: compiled into the Engine everywhere. There is no data source in Studio. The node may be listed, but it stays without data.
  • Status: Beta, Engine API only.
  • Models and channels: eego amplifiers from ANT Neuro with 8, 32 and 64 channels, each with a fixed cap layout and REF and GND electrodes, all at 512 Hz.
  • Accepted amplifier types: EE410, EE411 and EE430 as 8 channel. EE212, EE214, EE222 and EE223 as 32 channel. EE211, EE215, EE224 and EE225 as 64 channel. EE213 and EE221 are end of life and rejected. The driver handles one amplifier at a time.
  • Transport: the vendor eego SDK, loaded at runtime from eego-SDK.dll on Windows or libeego-SDK.so on Linux. Both are in the repository and packaged.
  • Windows USB driver: the source repository holds USB driver files for eego under deps/drivers/win/eemagine. The packaging files don’t reference them, so you may have to install a driver yourself. Check with ANT Neuro if Windows doesn’t recognise the amplifier.
  • Platforms: Windows and Linux, x64 and x86 only. Not compiled on macOS. Arm builds have no SDK library, so the driver only logs a warning and finds nothing.
  • Auto detection: yes, every 3 seconds while no amplifier is open. “Enable eemagine Devices” is on by default.
  • Impedance: test mode implemented, see Impedance and contact quality per device.
  • Status: Beta. Bundled SDK.
  • Step by step: the ANT Neuro section of Biosensors.
  • Models and channels: Mitsar-EEG 201, 23 EEG electrodes in modified 10-20 names plus four polygraphic channels at 500 Hz.
  • Transport: OSC from Mitsar\MitsarConnector.exe, which the driver starts from the Mitsar folder next to the Studio executable. EEG, impedance, bio and version messages arrive under /mitsar201/<id>/. The connector comes with the vendor SDK. It is not in the repository.
  • Platforms: Windows only.
  • Auto detection: yes. Starting the connector is the detection. “Enable Mitsar Devices” is off by default. The impedance test restarts the connector.
  • Status: Beta. The connector is not in the repository.
  • Step by step: the Mitsar section of Biosensors.
  • Models and channels: Discovery 20, 20 EEG electrodes plus Fpz, Oz, AUX23 and AUX24 inputs and a mode sensor, at 256 Hz.
  • Transport: FTDI serial over USB, through the vendor library bmrcm.dll. The library is not in the repository or the packages. Studio does not look in a BrainMaster install folder, so get the file from BrainMaster and put it next to the Studio executable.
  • Sign-in values: the driver connects only when Code Key, Serial Number and Pass Key are all set under NMStudio > Settings > Devices, group BrainMaster.
  • Platforms: Windows x86 builds only. The Windows x64 and arm64 packages don’t include this driver, so use the x86 package.
  • Auto detection: yes, every 3 seconds while no device is open. “Enable BrainMaster Devices” is on by default. Impedance test mode implemented.
  • Status: Beta. One platform.
  • Step by step: the Brainmaster section of Biosensors.
  • Models and channels: any sensor that advertises the standard Bluetooth LE Heart Rate service. Event-driven BPM and RR interval, plus battery level. The RR interval is labelled ms and carries the raw sensor value, which standard Bluetooth LE heart rate sensors report in units of 1/1024 second. The setup steps name the Polar H7 and the Zephyr HxM Smart.
  • Transport: Bluetooth LE through the Qt Bluetooth module. No vendor library.
  • Platforms: all. The setup steps cover Windows, macOS and Linux. On Windows, you may have to pair the sensor first.
  • Auto detection: yes, a scan every 5 seconds while nothing is connected. One sensor connects automatically, several open a dialog. “Enable Bluetooth Devices” is off by default. A code comment says this driver stops working once the Versus driver is activated.
  • Status: Supported.
  • Step by step: the Bluetooth Smart Heart Rate Sensors section of Biosensors.
  • Models and channels, vendor data: headband, BrainBit 2, Flex 4, Flex 8. 4 or 8 EEG channels at 250 Hz over Bluetooth LE.
  • Status: works through the BrainFlow node on Windows. The BrainFlow boards page lists this legacy board on NeuroSDK 1 (Legacy). A native driver on NeuroSDK 2 is Planned. An external OSC bridge is R&D.
  • Step by step: BrainBit connection and setup.

These are registered in the Engine, with no driver in Studio. The nodes may be listed, but they stay without data.

  • Gamepad: 22 event-driven inputs plus a Gamepad node. The Qt Gamepad module is linked, but nothing pushes gamepad state into the device. Status: Beta, no data source found.
  • Accelerometer and gyroscope: X, Y, Z inputs at 50 Hz and 10 Hz, both rates placeholders in the code. Fed only through the Engine C API. The header names iOS CoreMotion and the Android sensor API as sources. Status: Beta, Engine API only.
Device kOhm values Contact colours Test button
OpenBCI Cyton, Cyton plus Daisy Estimated from the signal Always on None
eego, Mitsar, Discovery 20 Reported in test mode Only during the test Yes
Muse None, cells stay blank From the headset None
Notion, Crown, Versus, Test Device, BrainFlow None No indicator None

A value shows only while the channel is live, and goes blank after 2 seconds without a sample. The grid in the Devices window shows the first 8 electrodes. The pass or fail test covers all of them. See Impedance and contact quality.

In 1.7.3: Values under 0.1 kOhm are blank and count as No Signal, so an OpenBCI reading of 0.0 fails the test. A channel that goes quiet does not go blank.

These drivers exist in the source tree, but their compile flags are off in the public Config.h, so community builds lack them. Don’t plan on them working in a downloaded build. Biosensors has build steps for four of them: Emotiv, NeuroSky, ABM and Brainquiry. Vendor SDK licensing is not yet confirmed.

  • Emotiv EPOC, EPOC+ and Insight: Not in public build. Available through a source build (community) or a custom build (commercial clients). Windows, Emotiv community SDK; the vendor SDK is not in the repository.
  • NeuroSky MindWave: Not in public build. Available through a source build (community) or a custom build (commercial clients). Windows, ThinkGear SDK over Bluetooth serial; the vendor SDK is not in the repository.
  • Tobii EyeX eye tracker: Not in public build. Available through a source build (community) or a custom build (commercial clients). Windows, 14 gaze inputs at 55 Hz; the vendor SDK is not in the repository.
  • Advanced Brain Monitoring B-Alert X10 and X24: Not in public build. Available through a source build (community) or a custom build (commercial clients). Windows 32-bit; vendor headers not in the repository.
  • Brainquiry PET 4.0: Not in public build. Available through a source build (community) or a custom build (commercial clients). Vendor DLL over Bluetooth serial, Windows 32-bit; vendor headers not in the repository.
  • Brain Products actiCHamp: Not in public build. Available through a source build (community) or a custom build (commercial clients). The source has only a driver skeleton with no data path, so a build must complete it.

These appear in the code but are not offered as device integrations.

  • Audio input, microphone and audio output through Qt Multimedia: driver source exists, with its flag commented out.
  • Zephyr BioHarness: not implemented. Only leftover references remain, with no source files and no compile flag in Config.h.
  • Geoposition: not implemented. A flag in Config.h and a type ID exist, but no device class, node or registration.