Hardware
Devices
OctoBio Kit
Specification

Specification

Everything in the kit, plus the web app that ties it together.

Octopus 16 EEG board (included)

Octopus 16 EEG board

Channels16 EEG, dry spring-loaded pogo pins
ADC2 × Texas Instruments ADS131M08, 24-bit
Gain4 (all channels)
ControllerSeeed Studio XIAO ESP32-S3
WirelessBluetooth LE, ~250 SPS
Bluetooth nameOctopus-16-XXXX
Power5 V power bank, battery only while worn

Sample rate: the stream is labelled 250 SPS. With the current 8.000 MHz ADC clock the true rate is about 244 SPS (4 MHz ÷ OSR 16384). That's fine for viewing and band power; correct for it if you need precise timing (ERP, P300).

Starter Kit for Arduino (SEA0004T, included)

BoardArduino Uno compatible (ATmega328P)
ConnectionUSB serial, 115200 baud
SensorsUltrasonic distance, light (BH1750), temperature & humidity (DHT20), motion (PIR), sound, soil moisture, potentiometer, accelerometer (MPU6050), button, IR receiver
OutputsLED, second LED, relay, buzzer, servo, 16×2 LCD
FirmwareOctoBio firmware, flashed once from the browser
Ready lineINF protocol=1 ready

Software (web app)

PlatformWeb app at octobridge.pieeg.com (opens in a new tab), Chrome or Edge (desktop)
ConnectionWeb Bluetooth (Octopus 16) + Web Serial (starter kit), both live at once
FirmwareFlashed by the user from the browser, one time only
ProgrammingBlocks, 5 difficulty levels, runs live without compiling
EEG valuesRelative band power δ θ α β γ, focus, relax, signal quality
PrivacyBluetooth and USB stay in the browser tab. Nothing is uploaded to a PiEEG server.

Octopus 16 BLE protocol

For developers who want to read the Octopus 16 in their own software.

ItemValue
Service4fafc201-1fb5-459e-8fcc-c5c9c331914b
Data (NOTIFY)beb5483e-36e1-4688-b7f5-ea07361b26a8
Cmd (WRITE)c0de0001-36e1-4688-b7f5-ea07361b26a8 (register bridge)

Packet: 51 bytes, one sample per notification

BytesMeaning
[0]0xA0 start marker
[1]Sample counter (0–255, wraps)
[2..25]ADC1, channels 0–7 (8 × 3-byte big-endian signed 24-bit)
[26..49]ADC2, channels 8–15
[50]0xC0 end marker
µV = raw × (1.2 / 4.0 / 8388607) × 1e6

(1.2 V reference, gain 4, 24-bit.)

The easiest way to use it from a web page is the JavaScript SDK:

const eeg = new PiEEG();
await eeg.connectBLE({ device: 'octopus-16' }); // call from a click handler

Package

SKUPIA24028P
Weight570 g
In the box1 × Octopus 16 EEG board (with ESP32-S3), 1 × Elecrow All-in-One Starter Kit for Arduino (SEA0004T), access to the OctoBio web app and firmware
Not included5 V power bank, a computer with Bluetooth running desktop Chrome or Edge
Sold byPiEEG on Elecrow