Hardware
Devices
MicroBCI
Software

Software

MicroBCI streams over Bluetooth LE with the same protocol as IronBCI, so it works with all of these:

Best forRuns onInstall
Python SDKLive graphs, saving to Excel, your own processingWindows, macOS, Linuxpip install bleak
Android appMobile demos and recordingAndroidOne APK
PiEEG CloudDashboards, spectra, experiencesChrome or EdgeNone
PiEEG ServerRecording, LSL, OSC, WebSocket streamWindows, macOS, Linuxpip

The board must have the Bluetooth stack and firmware installed first. See Firmware.

Python SDK

Scripts built on bleak (opens in a new tab), in SDK/GUI (opens in a new tab).

ScriptWhat it does
1.GUI.pyLive graph of all 8 channels, raw
1.1_GUI.pyLive graph with a 1–40 Hz band-pass filter (recommended)
2.Save_data.pyFinds the board by name and saves 2,000 samples (8 s) to eareeg_data.xlsx
2.1_Save_data.pyConnects by address and saves 10,000 samples (40 s) to EEG_datas.xlsx
pip install bleak matplotlib numpy scipy pandas openpyxl
git clone https://github.com/pieeg-club/MicroBCI.git
cd MicroBCI/SDK/GUI
python 1.1_GUI.py

Find your board's address

The GUI scripts connect to a fixed Bluetooth address written at the top of the file:

address = "00:80:E1:27:96:0B"     # change to your board's address

To find yours, run this once with the board powered:

import asyncio
from bleak import BleakScanner
 
async def main():
    for d in await BleakScanner.discover(timeout=8):
        print(d.address, d.name)
 
asyncio.run(main())

Look for the board (usually named EAREEG). On macOS, bleak shows a UUID instead of a MAC address: use that.

Analyse saved data

SDK/For_dataset (opens in a new tab) has two scripts for recordings:

ScriptWhat it does
1.Band_pass.pyBand-pass filter and plot the channels of a CSV file
2.Band_pass_and_Wavelet.pyBand-pass filter plus a wavelet view, for the alpha test (needs pip install PyWavelets)

Set the file name at the top of each script.

Android app

An open-source Android app (MIT licence) for live viewing and recording.

  1. Download mobile_sdk_Micro_BCI.apk (opens in a new tab) and install it (allow installs from this source when Android asks).
  2. In settings, choose 8 ch.
  3. Connect to the board and watch the signal.
  4. Press Save to record and Stop to finish, then send the file any way you like.

The Flutter source is in EEG-Flutter-App-master_Micro_BCI.zip in the same folder.

PiEEG Cloud

  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.
  3. Pick the board in the browser's Bluetooth window.

More: PiEEG Cloud.

PiEEG Server

pip install "pieeg-server[ironbci]"
pieeg-server --device ironbci8                                   # scan and connect
pieeg-server --device ironbci8 --ble-address 00:80:E1:XX:XX:XX   # connect by address

Dashboard at http://localhost:1617 (opens in a new tab). More: IronBCI software.

On macOS, allow your terminal (or Python) to use Bluetooth: System Settings → Privacy & Security → Bluetooth.