Software
Octopus 16 streams over Bluetooth LE, so it works straight from a browser tab or your wrist. Pick the option that fits what you want to do.
| Best for | Runs on | Install | |
|---|---|---|---|
| PiEEG Cloud | Dashboards, spectra, experiences, Buddy AI | Chrome or Edge | None |
| octoBridge | Classrooms, block programs, the OctoBio Kit | Chrome or Edge | None |
| octoWatch | Live wrist EEG scope, relative band-power HUD & 10–20 fit guide | Garmin smartwatches | Connect IQ Store (opens in a new tab) |
| JavaScript SDK | Your own web app | Chrome or Edge | One script |
| Python SDK | Live view with heatmap and FFT, recording to Excel | Windows, macOS, Linux | pip install bleak |
All of them connect to a board flashed with the official firmware, which appears as Octopus-16-XXXX. First time? See Firmware.
Garmin Smartwatch App — octoWatch
Stream and visualize live 16-channel 250 SPS EEG from Octopus-16 directly on your Garmin watch (Venu, fēnix, epix, Forerunner, vívoactive) over Bluetooth Low Energy:
- Garmin Connect IQ Store: https://apps.garmin.com/apps/8e994535-c853-45ca-abe3-ccef61119c8b (opens in a new tab)
- Documentation & Fit Guide: octoWatch
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 Octopus 16.
- Pick
Octopus-16-XXXXin the browser's Bluetooth window.

You get live waveforms, spectra, topographic maps, recording and playback, plus the Live Lab, experiences and Buddy AI. Processing runs in your browser. More: PiEEG Cloud.
octoBridge
The classroom lab at octobridge.pieeg.com (opens in a new tab). Connect the Octopus 16 (and, optionally, the OctoBio Kit's Arduino board), watch live readings and build block programs.
| Reading | Meaning |
|---|---|
| Band power | δ θ α β γ, relative (share of total spectral power) |
Focus (β / (β + θ)) | Shorthand label for the uncalibrated Beta / (Beta + Theta) band-power ratio |
Relax (α / (α + β)) | Shorthand label for the uncalibrated Alpha / (Alpha + Beta) band-power ratio |
| RMS | Signal amplitude in µV |
| EEG ok | Green when RMS is between 2 and 200 µV |
More: octoBridge · OctoBio Kit lessons.
JavaScript SDK
pieeg.js connects to Octopus 16 from your own web page, with filtering and band power built in.
const eeg = new PiEEG();
eeg.onBandPowers((p) => console.log('Alpha', p.Alpha, 'Beta', p.Beta));
button.addEventListener('click', async () => { // must be a click handler
const info = await eeg.connectBLE({ device: 'octopus-16' });
console.log(`${info.deviceName}: ${info.channels} ch @ ${info.sampleRate} Hz`);
});More: JavaScript SDK.
Python SDK
Scripts built on bleak (opens in a new tab), in the Octopus_16 repository (opens in a new tab).
pip install bleak matplotlib numpy scipy openpyxl pandas
git clone https://github.com/pieeg-club/Octopus_16.git
cd Octopus_16Live view: GUI/SDK_Data_Visual.py
16 live channels, a heatmap and an FFT with the EEG bands marked.
python GUI/SDK_Data_Visual.py # find the board and stream
python GUI/SDK_Data_Visual.py --scan # list nearby Bluetooth devices
python GUI/SDK_Data_Visual.py --save data.csv # also save to CSV
python GUI/SDK_Data_Visual.py --notch 60 # 60 Hz mains (default 50)
python GUI/SDK_Data_Visual.py --window 6 # 6-second window (default 4)
python GUI/SDK_Data_Visual.py --demo # synthetic data, no boardThe script finds the board by its Bluetooth service UUID, so it works whatever name the board advertises.
Python SDK demo video (opens in a new tab)
Recorder: Dataset/Visualisation.py
Records a set number of seconds of raw 16-channel data and saves it to Excel.
python Dataset/Visualisation.py --duration 30 --out my_session.xlsx
python Dataset/Visualisation.py --demo # no boardAnalysis: Dataset/FFT.py
Band-pass filters one channel of a saved file (1–30 Hz) and plots its spectrum. Set the file and channel at the top of the script.
On macOS, allow your terminal (or Python) to use Bluetooth: System Settings → Privacy & Security → Bluetooth. On Linux, make sure the Bluetooth service is running (sudo systemctl start bluetooth).
Next
- Signals & Datasets: sample recordings and datasets
- Specification: BLE protocol, packet format and µV conversion