How to Start
From the box to live EEG over Bluetooth, in seven steps.
Gather the parts
You need the MicroBCI, a NUCLEO-WB55 board, a Micro-USB data cable, a small 5 V power bank, 8 electrodes with two ear clips, and a cap. See What's in the Box.
Flash the Nucleo (first time only)
The NUCLEO-WB55 needs the Bluetooth stack and the MicroBCI firmware once. You do this from a computer with STM32CubeProgrammer, over the Nucleo's built-in ST-LINK USB port:
- Upload the Bluetooth stack
stm32wb5x_BLE_Stack_full_fw.binat address0x080CE000. - Upload the firmware
Micro_BCI.hex.
Step by step, with screenshots: Firmware. Video: youtu.be/crqOmnJ3Hjg (opens in a new tab).
Mount the shield
- Unplug the Nucleo.
- Line up the MicroBCI with the Nucleo's headers, matching the end pin marked by the arrow in the photo below.
- Press it down evenly until all pins are seated.

Pay attention to the alignment. A shield shifted by one pin won't work. Compare with the photo before powering on.
Connect the electrodes
| Connector | Electrode | Where it goes |
|---|---|---|
| Channels 1–8 | 8 EEG electrodes in the cap | Scalp positions of the 10-20 system |
| Reference | Ear-clip electrode | One earlobe |
| Bias | Ear-clip electrode | The other earlobe |

Details: Electrodes & Mounting.
Power on from the battery
Plug the power bank into the Nucleo's Micro-USB port. The board starts advertising over Bluetooth.
MicroBCI has no isolation. While electrodes are on a person, the Nucleo runs from the power bank only, never from a computer's USB port or a wall charger.
Connect over Bluetooth
You don't need to pair it in your system's Bluetooth settings. It uses the same Bluetooth protocol as IronBCI.
pip install bleak matplotlib numpy scipy pandas openpyxl
git clone https://github.com/pieeg-club/MicroBCI.git
cd MicroBCI/SDK/GUIOpen 1.1_GUI.py and set address to your board's Bluetooth address (see Software), then:
python 1.1_GUI.pyCheck the signal
Sit still, relax the face and run these quick tests.
| Test | What you should see |
|---|---|
| Sit still for 30 seconds | All 8 channels settle. Flat lines or huge values mean a loose electrode. |
| Close your eyes for 10 seconds | Alpha (8–12 Hz) rises, then drops when the eyes open |
| Blink (electrodes on the forehead) | Large slow spikes |
| Chew or clench the jaw | Bursts of high-frequency noise. That is muscle (EMG), not brain activity. |

Next steps
- Record and analyse: see Software.
- No connection or noisy? See Troubleshooting and Noise elimination.