Hardware
Devices
MicroBCI
How to Start

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:

  1. Upload the Bluetooth stack stm32wb5x_BLE_Stack_full_fw.bin at address 0x080CE000.
  2. Upload the firmware Micro_BCI.hex.

Step by step, with screenshots: Firmware. Video: youtu.be/crqOmnJ3Hjg (opens in a new tab).

Mount the shield

  1. Unplug the Nucleo.
  2. Line up the MicroBCI with the Nucleo's headers, matching the end pin marked by the arrow in the photo below.
  3. Press it down evenly until all pins are seated.

MicroBCI on the Nucleo: match the end pin marked by the arrow

⚠️

Pay attention to the alignment. A shield shifted by one pin won't work. Compare with the photo before powering on.

Connect the electrodes

ConnectorElectrodeWhere it goes
Channels 1–88 EEG electrodes in the capScalp positions of the 10-20 system
ReferenceEar-clip electrodeOne earlobe
BiasEar-clip electrodeThe other earlobe

Wiring of channels 1–8, reference and bias

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/GUI

Open 1.1_GUI.py and set address to your board's Bluetooth address (see Software), then:

python 1.1_GUI.py

Check the signal

Sit still, relax the face and run these quick tests.

TestWhat you should see
Sit still for 30 secondsAll 8 channels settle. Flat lines or huge values mean a loose electrode.
Close your eyes for 10 secondsAlpha (8–12 Hz) rises, then drops when the eyes open
Blink (electrodes on the forehead)Large slow spikes
Chew or clench the jawBursts of high-frequency noise. That is muscle (EMG), not brain activity.

Alpha with eyes closed and open, recorded with MicroBCI

Next steps