Hardware
Devices
IronBCI-32
Software

Software

IronBCI-32 appears on your computer as a USB serial port. Pick the option that fits what you want to do.

Best forRuns onInstall
PiEEG ServerDashboard, recording, LSL, OSC, WebSocket stream to any languageWindows, macOS, Linuxpip
BrainFlowResearch pipelines in Python, C++, Java, C#, R, Julia…Windows, macOS, Linux, Raspberry Pipip install brainflow
PiEEG CloudFastest start, dashboards and experiencesChrome or EdgeNone
Example scriptsPlotting and saving with BrainFlowPythonClone the repo

Find the serial port first

SystemHowLooks like
WindowsDevice Manager → Ports (COM & LPT)COM3
Linuxls /dev/ttyACM*/dev/ttyACM0
macOSls /dev/tty.usbmodem*/dev/tty.usbmodem…

The board streams as soon as it is powered, so the port is ready straight away.

PiEEG Server

A pure-Python driver (no BrainFlow needed) with a browser dashboard and a real-time stream.

pip install "pieeg-server[ironbci32]"          # Python 3.10+, installs pyserial
 
pieeg-server --device ironbci32 --serial-port COM3            # Windows
pieeg-server --device ironbci32 --serial-port /dev/ttyACM0    # Linux / macOS

PiEEG Server dashboard

AddressWhat it is
http://localhost:1617Browser dashboard
ws://localhost:1616WebSocket stream: JSON frames with 32 channels in µV

Common options

pieeg-server --device ironbci32 --serial-port COM3 --filter               # 1–40 Hz band-pass
pieeg-server --device ironbci32 --serial-port COM3 --record session.csv   # record while streaming
pieeg-server --device ironbci32 --serial-port COM3 --lsl                  # Lab Streaming Layer
pieeg-server record session.csv --device ironbci32 --serial-port COM3     # CSV only, no server

More: Quick Start · Configuration · WebSocket API · LSL

BrainFlow

IronBCI-32 is supported in BrainFlow (opens in a new tab) as BoardIds.IRONBCI_32_BOARD (ID 65). The only setting is the serial port.

pip install brainflow
import time
from brainflow.board_shim import BoardShim, BrainFlowInputParams, BoardIds
 
params = BrainFlowInputParams()
params.serial_port = "COM3"              # or "/dev/ttyACM0"
 
board = BoardShim(BoardIds.IRONBCI_32_BOARD, params)
board.prepare_session()
board.start_stream()
time.sleep(10)
data = board.get_board_data()            # rows = channels, columns = samples
board.stop_stream()
board.release_session()
 
eeg = BoardShim.get_eeg_channels(BoardIds.IRONBCI_32_BOARD)
print(data[eeg].shape)                   # (32, number of samples)

The repository scripts were tested with BrainFlow 5.20.1 and Python 3.12.4. For questions about BrainFlow itself, use the BrainFlow Slack (opens in a new tab).

On Linux and macOS you may need permission to open the serial port: add your user to the dialout group (sudo usermod -aG dialout $USER, then log in again) or run with sudo.

PiEEG Cloud (browser)

  1. Open cloud.pieeg.com (opens in a new tab) in Chrome or Edge.
  2. In the Session Lobby, open the PiEEG Devices tab and choose IronBCI-32.
  3. Pick the serial port in the browser's window.

32 channels at 500 Hz over Web Serial, with live waveforms, spectra and topographic maps. More: PiEEG Cloud.

Example scripts

In SDK (opens in a new tab) on GitHub. All use BrainFlow.

ScriptWhat it does
Real_time_visualisation/1.One_ch_plot.pyLive plot of one channel
Real_time_visualisation/2.All_channels.pyLive plot of all 32 channels
Save_data/1.Save_5_sec_1ch.pyRecord 5 seconds of one channel
Save_data/2.All_ch.pyRecord 10 seconds of all 32 channels to Excel (eeg_32ch_10s.xlsx)
Not_real_time/Plot_data.pyPlot a saved file with an 8–12 Hz filter and wavelet view
pip install brainflow pyqtgraph PyQt5 pandas openpyxl scipy matplotlib PyWavelets
git clone https://github.com/pieeg-club/ironbci-32.git
cd ironbci-32/SDK/Real_time_visualisation
python 2.All_channels.py --serial-port COM3       # or /dev/ttyACM0
⚠️

The save scripts have the port COM3 written in the code. Change it to your port. In 2.All_ch.py, also fix the typo IRONBBCI_32_BOARD → IRONBCI_32_BOARD on the BoardShim(...) line, or the script stops with an error.

All 32 channels plotted with BrainFlow

Next