Software
MicroBCI streams over Bluetooth LE with the same protocol as IronBCI, so it works with all of these:
| Best for | Runs on | Install | |
|---|---|---|---|
| Python SDK | Live graphs, saving to Excel, your own processing | Windows, macOS, Linux | pip install bleak |
| Android app | Mobile demos and recording | Android | One APK |
| PiEEG Cloud | Dashboards, spectra, experiences | Chrome or Edge | None |
| PiEEG Server | Recording, LSL, OSC, WebSocket stream | Windows, macOS, Linux | pip |
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).
| Script | What it does |
|---|---|
1.GUI.py | Live graph of all 8 channels, raw |
1.1_GUI.py | Live graph with a 1–40 Hz band-pass filter (recommended) |
2.Save_data.py | Finds the board by name and saves 2,000 samples (8 s) to eareeg_data.xlsx |
2.1_Save_data.py | Connects 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.pyFind 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 addressTo 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:
| Script | What it does |
|---|---|
1.Band_pass.py | Band-pass filter and plot the channels of a CSV file |
2.Band_pass_and_Wavelet.py | Band-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.
- Download
mobile_sdk_Micro_BCI.apk(opens in a new tab) and install it (allow installs from this source when Android asks). - In settings, choose 8 ch.
- Connect to the board and watch the signal.
- 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
- Open cloud.pieeg.com (opens in a new tab) in Chrome or Edge.
- In the Session Lobby, open the PiEEG Devices tab and choose IronBCI.
- 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 addressDashboard 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.