Flagship · In production

BCI-32 EEG Board

32 clinical-grade channels from 8× TI ADS1299 front-ends, driven by a 480 MHz STM32H7 with fully customizable open firmware. Every box includes a genuine ST-LINK/V3 MINIE programmer/debugger and the firmware download file — flash it with STM32CubeProgrammer and make the hardware truly yours.

$2,300 $71.9 per channel — OpenBCI charges $156
Firmware & downloads
  • ✓ST-LINK/V3 MINIE in the box — SWD/JTAG debug probe for unlimited custom firmware
  • ✓Firmware file at purchase — .hex/.elf download link in your shipping email
  • ✓Full C source — STM32CubeIDE project, drivers, LSL/OpenBCI-format streamers
  • ✓2-year warranty + lifetime firmware updates
BCI-32 32-channel EEG board — top view, studio shot
STM32H7 microcontroller on the BCI-32 board — close-up
One price, complete kit

What's in the box

No dongles sold separately, no "debugger probe sold separately." The BCI-32 kit is everything you need to record on day one and reprogram on day two.

🔧

BCI-32 board

32-channel AFE in an ESD bag, with conformity & QC test report serialized to your unit.

🔌

ST-LINK/V3 MINIE

Genuine STMicroelectronics SWD/JTAG probe — flash and debug your custom firmware over the onboard SWD header.

💾

Firmware download

Email delivers the matching .hex/.elf build, release notes and test log, plus the full source repository.

📦

Cables & docs

Shielded USB-C cable, ribbon header quick-start, and printed STM32CubeProgrammer flashing guide.

Under the hood

Specifications

SubsystemDetail
Channels32 EEG channels + 2 references + bias driver (SRB1/SRB2 selectable)
Analog front-end8× Texas Instruments ADS1299 — 24-bit delta-sigma, ~0.5 µVrms input-referred noise, programmable gain 1–24×
BandwidthDC–535 Hz programmable per ADS1299 config; onboard configurable HPF/LPF stages
Sample rate250 / 500 / 1000 / 2000 / 4000 / 8000 / 16000 Hz (firmware selectable)
MCUSTM32H743 @ 480 MHz, 2 MB flash / 1 MB RAM — runs your firmware, not ours
StreamingUSB-C (CDC bulk, 2 MB/s), Lab Streaming Layer (LSL), OpenBCI GUI-compatible serial protocol, optional UDP
RecordingmicroSD slot, industrial-rated — ~11 days of 32 ch @ 500 Hz on a 32 GB card
DebugStandard ARM 10-pin SWD/JTAG header, shipped with ST-LINK/V3 MINIE + STM32CubeProgrammer profile
Lead-off detectionCurrent-injection impedance test on all 32 channels, reported per sample packet
PowerUSB-C or 1S LiPo (JST-PH), onboard charging, ~9 h portable recording
IsolationDigital isolation on USB path; patient-connector isolation available on request (see BCI-32-M)
Size / weight100 × 80 mm, 4-layer ENIG PCB · 62 g
Compatibility

Wet or dry electrodes? Both.

An electrode is just the transducer — the BCI-32's ADS1299 front-ends don't care what touches your scalp. What changes is contact impedance, and the board is built to handle the whole range.

Best signal quality

Wet — gel / paste

Ag/AgCl cups with Ten20 paste and NuPrep skin prep sit at ~5–20 kΩ of skin impedance: the lowest noise and the choice for publication-grade EEG. Works with the standard cap or the custom electrode cap (cup holders).

Zero prep

Dry — comb / spring

Dry electrodes run 10–100× higher impedance with more motion artifact. The BCI-32 is built for them: gigaohm-class ADS1299 inputs, programmable 1–24× gain, bias drive, and per-channel lead-off detection so you see contact quality live. Great for BCI demos and neurofeedback.

Middle ground

Saline sponges & hybrids

Saline-soaked sponges or hybrid spring+gel electrodes split the difference — comfortable for long sessions, no paste cleanup, still moderate impedance. Plug into the Dupont header pins and record like anything else.

Connector heads-up: the BCI-32's electrode inputs are 2.54 mm header pins — leads must end in a female Dupont/Berg connector to plug in directly. Own electrodes with 1.5 mm DIN touchproof leads instead (most caps and clinical electrodes)? Use the Header Pin → Touchproof adapter — plug-and-play, no soldering or re-termination. Wet Ag/AgCl for best signal-to-noise, dry for speed; impedance check is one firmware command either way.

Own your signal chain

Firmware, delivered with your board

After purchase your shipping email includes a personal download link to the exact firmware build flashed on your unit, plus the full source tree. Re-flash it anytime — or fork it and build your own.

Included in the firmware package

  • ✓BCI32-1.4.2.hex / .elf — production firmware matching your serial number
  • ✓Full C source — STM32CubeIDE project, ADS1299 driver, USB CDC, SD logger, LSL bridge
  • ✓STM32CubeProgrammer profile — one-click flash configuration for the included ST-LINK/V3
  • ✓Host tools — Python recorder, impedance-check CLI, OpenBCI-format converter
  • ✓Regression log — the QC trace of your unit's test run

Demo generates a placeholder .hex so you can see the delivery format. Purchasers get the real signed build + source.

Why ship a debugger? Because "customizable firmware" is empty words without a way to flash it. The ST-LINK/V3 MINIE connects to the BCI-32's SWD header — bricked it while experimenting? Re-flash and you're running again in 20 seconds.

Flashing custom firmware with STM32CubeProgrammer

Connect the ST-LINK/V3

Plug the ST-LINK/V3 MINIE into your computer and connect its 10-pin ribbon to the BCI-32 SWD header. The board can stay powered over USB-C.

Open STM32CubeProgrammer

Select ST-LINK as the connection mode, port SWD, frequency 4000 kHz, mode Under reset. Hit Connect — the STM32H743 appears immediately.

Load your build

Open the Erasing & Programming tab, choose your .hex (ours or your own compile), verify "Verify programming" is checked.

Flash & verify

Click Start Programming. Flash takes ~8 s including full chip verify. The status LED blinks magenta during flash, then green on boot.

Stream

Reconnect USB-C and open the LSL recorder or the OpenBCI GUI — your custom firmware announces itself with a configurable device string.

Need more density?

The BCI-128 (128 channels) is built to order with a live instant quote — configuration takes two minutes.

Quote my BCI-128