Integrations
BrainBit constraints
R&D. Everything on this page is for research and development exploration.
The OSC input described on this page is implemented the same way in Studio 1.7.3 and 1.8.2, except for packets with no messages.
In 1.7.3: A packet with no messages, such as an empty bundle, leaves the OSC router locked, so later OSC input can block. Don’t send empty bundles.
This page lists what neuromore Studio can and cannot do with BrainBit hardware today: which models and platforms each path covers, the limits of the interim OSC bridge, and the open question around the vendor’s NeuroSDK 2 licensing. Studio facts come from the neuromore Studio and neuromore Engine code. Vendor facts come from the vendor’s published SDK documentation and Python package, as read on 5 November 2026, so check them against the vendor’s current documentation.
Use this page to pick a platform and device before you follow BrainBit connection and setup and the BrainBit test workflow. Labels are Supported, Beta, R&D, Planned and Legacy. Anything not confirmed from the code or the vendor’s documentation says “not yet verified”.
Limits that apply to every device on the browser path, such as browser support, the Chrome extension, the WebSocket server, feedback value range, update rate, web sites and OSC output, are on Browser constraints.
Platform and device matrix
Section titled “Platform and device matrix”The matrix covers EEG input from BrainBit hardware. Driver targets are the current plan. They have no date.
| Platform | BrainBit family via OSC bridge | BrainBit native driver |
|---|---|---|
| Windows x64 | R&D. The vendor lists Windows 10 or newer and publishes x64 libraries. The bridge is not implemented. Suggested first test machine: Windows 10 or 11 x64 with Bluetooth LE. | Planned. First target together with macOS arm64. |
| Windows x86 | R&D. The vendor publishes 32-bit libraries for C++. Support in the Python package is not yet verified. | Not in the current plan. |
| Windows arm64 | R&D. Vendor SDK support for Windows arm64 is not yet verified. | Not in the current plan. |
| macOS (official build universal, x64 and arm64) | R&D. The vendor’s Python package lists macOS 10.14 or newer. Support on arm64 is not yet verified. The bridge is a separate process, so the Studio build architecture does not matter. Possible in principle. | Planned for arm64. First target together with Windows x64. |
| Linux | R&D. The vendor lists Astra Linux and Ubuntu packages. Which architectures they cover is not yet verified. | Planned, after Windows and macOS. |
On the bridge path, the platform follows the vendor SDK, not neuromore Studio, because the bridge runs as its own process and only talks to Studio over UDP. To use BrainBit data for browser neurofeedback, you need neuromore Studio 1.7.0 or newer; see Browser constraints.
BrainBit models
Section titled “BrainBit models”| Model | EEG channels | Sample rate and link | Intended path | Status |
|---|---|---|---|---|
| BrainBit headband | 4 (T3, T4, O1, O2) | 250 Hz, Bluetooth LE | OSC bridge (no reference script yet); native driver later | R&D bridge, Planned driver |
| BrainBit 2 | 4 (vendor data) | 250 Hz, Bluetooth LE | Same as headband | R&D bridge, Planned driver |
| Flex 4 | 4 (vendor data) | 250 Hz, Bluetooth LE | Same as headband | R&D bridge, Planned driver |
| Flex 8 | 8 (vendor data); advertises under the BLE name “Flex Pro” | 250 Hz, Bluetooth LE | Same as headband, eight OSC addresses | R&D bridge, Planned driver |
The Flex 4 and Flex 8 details are not yet verified against the vendor documentation named above.
Today, live BrainBit data reaches neuromore Studio only through the legacy BrainFlow board, on Windows; see BrainFlow boards. neuromore Studio does not yet include a native BrainBit driver (Planned), and the OSC bridge has no neuromore-supplied reference script (R&D). The legacy board has 4 channels, so the Flex 8 needs a bridge or the driver. Impedance and battery values do not reach neuromore Studio on the bridge path.
The BrainFlow node in neuromore Studio still lists a BrainBit board that loads the older vendor library neurosdk at runtime. It is Legacy, 4 channels only, and Windows x64 and x86 only in practice. It is not the path these BrainBit pages describe.
OSC bridge constraints
Section titled “OSC bridge constraints”These limits come from how neuromore Studio receives OSC and from the vendor SDK. They apply to every BrainBit model on the interim path.
| Item | Constraint | Status |
|---|---|---|
| Transport | OSC over UDP to neuromore Studio’s OSC input. The default is UDP port 4545, and a bridge on the same computer sends to 127.0.0.1:4545. To change the port, go to NMStudio > Settings > Network > OSC Server > Input UDP port. |
Supported (OSC input); R&D (bridge) |
| Message format | One OSC message per channel per sample, each with exactly one float argument. Several floats in one message become consecutive samples, so do not pack channels into one message. Bundles are accepted with time tags ignored; keep each datagram under 1024 bytes. | Supported |
| Message mistakes | A non-float argument, such as an int or a double, arrives as sample 0.0. A message whose address matches no node is dropped. Neither shows an error. | Supported |
| Nodes in the classifier | One OSC Input node per channel from the Input category, with its OSC address matching the bridge address, for example /brainbit/ch1 to /brainbit/ch4 or /brainbit/flex/ch1 to /brainbit/flex/ch8. Each address starts with a slash and is unique. An OSC Input node with nothing connected is inactive. |
Supported |
| Sample rate setting | Set Sample rate to 250 on every OSC Input node, and send at a steady 250 Hz. The default is 128. Studio does not resample incoming OSC: each value becomes one sample, and the node treats those samples as arriving at the Sample rate you set. If the setting does not match what you send, or the timing is irregular, nodes further along the classifier work on a wrong time base. See the OSC Tutorial. | Supported |
| Latency | Studio reads datagrams as they arrive, with a 100 Hz timer as a fallback. The Engine then consumes them at its update rate, 100 Hz by default. Samples are forwarded without resampling. These two stages wait at most about 10 ms each. The vendor SDK, the bridge and the UDP hop add their own delay. | R&D |
| Throughput | 4 x 250 = 1000 messages per second for 4-channel models, 8 x 250 = 2000 for the Flex 8. Whether a Python bridge sustains the Flex 8 rate is not yet verified. | R&D |
| Signal units | The vendor documents signal values in volts. Multiply each value by 1,000,000 in the bridge and send microvolts, because OSC Input does not scale values and the Remap fields show only 4 decimals, too few for raw volts. Then set Input Min and Input Max on the Remap node (Math category) from the values you observe; see the BrainBit test workflow. | R&D |
| Device connection | The vendor documents device creation in NeuroSDK 2 as blocking, so the bridge should run it on its own thread. Whether an operating system Bluetooth pairing helps or interferes is not yet verified. How a bridge picks one device when several are nearby is not yet defined. | R&D |
| Extra process | The bridge must keep running next to neuromore Studio. If it stops, the OSC Input nodes stop receiving samples and feedback values hold at the last value. No error for this was found in the code. | R&D |
Licensing and NeuroSDK 2
Section titled “Licensing and NeuroSDK 2”Licensing: see neuromore Licensing, the Terms & Conditions, the End User Agreement and the Privacy Policy.
Vendor SDK licensing is not yet confirmed. A native driver would ship the vendor libraries next to the Studio binary, so it depends on the answer. On the bridge path, the user installs the vendor package (pyneurosdk2) separately.
Known limitations
Section titled “Known limitations”- No neuromore-supplied bridge script yet. Test steps that need live EEG need a bridge, which you have to write yourself until one exists. Synthetic-signal steps do not need one (R&D).
- No native BrainBit driver in neuromore Studio yet (Planned).
- No impedance or battery data in neuromore Studio on the bridge path (R&D).
- Vendor SDK licensing is not yet confirmed.
The extension and browser limits, such as manual extension installation, the fixed localhost address and name-based node matching, are listed on Browser constraints.
What would change this
Section titled “What would change this”| Limitation | Planned work | Status |
|---|---|---|
| No native BrainBit driver in neuromore Studio yet | A native neuromore Studio driver on NeuroSDK 2 for the whole BrainBit family, Windows x64 and macOS arm64 first, Linux later. It needs the vendor licensing answer and hardware. | Planned |
| BrainBit data for every model before the native driver | An external OSC bridge on NeuroSDK 2 (Python package pyneurosdk2) sending one float per channel per sample, in microvolts, to OSC Input nodes on UDP 4545, plus a neuromore-supplied reference script, which does not exist yet. |
R&D |
| Licensing | Confirmation from the vendor of the licensing terms for NeuroSDK 2. | R&D |