Software
Getting Started
Installation

Installation

Pick one method — they all get you pieeg-server ready to run.

One-line install (recommended)

curl -sSL https://raw.githubusercontent.com/pieeg-club/PiEEG-server/main/install.sh | bash
⚠️

First time on Raspberry Pi? Run sudo reboot after install to enable SPI.

Clone & setup

git clone https://github.com/pieeg-club/PiEEG-server.git
cd PiEEG-server
./setup.sh

pip install

pip install pieeg-server

Requires Python 3.10+.

IronBCI / EAREEG Support

For Bluetooth Low Energy boards (IronBCI, EAREEG), install the ironbci extra:

pip install pieeg-server[ironbci]

Then run with:

pieeg-server --device ironbci8                     # auto-scan for BLE device
pieeg-server --device ironbci8 --ble-name MyBoard   # custom device name
pieeg-server --device ironbci8 --ble-address AA:BB:CC:DD:EE:FF  # skip scan

IronBCI boards use the ADS1299 chip over BLE and support 8 channels. The BLE transport requires the bleak Python package (≥0.21).

Optional Dependencies

ExtraInstallUse case
lslpip install pieeg-server[lsl]Lab Streaming Layer outlet
rpipip install pieeg-server[rpi]Raspberry Pi SPI support
ironbcipip install pieeg-server[ironbci]Bluetooth LE for IronBCI / EAREEG boards
fastpip install pieeg-server[fast]Native (Rust) DSP accelerator via pieeg-core (opens in a new tab)
devpip install pieeg-server[dev]pytest + development tools

Native Accelerator (pieeg-core)

pieeg-server ships with a pure-Python reference implementation for every DSP hot path — 24-bit ADC decode, Butterworth bandpass, and Hampel spike rejection. Installing the optional pieeg-core (opens in a new tab) Rust accelerator transparently swaps those hot paths for compiled equivalents (~15–30× faster) — no config, no code changes:

pip install 'pieeg-server[fast]'

The active engine is announced on startup and reported in the WebSocket welcome message as engine: { native: true, engine: "pieeg-core", version: "…" }. Run pieeg-server doctor to see a DSP Engine section confirming which implementation is active.

If the wheel is missing or fails to import, pieeg-server falls back to the Python implementation automatically — nothing breaks.

⚠️

pieeg-core is licensed AGPL-3.0-or-later; installing it is strictly opt-in so the default MIT-licensed pieeg-server install stays license-clean.

System Requirements

RequirementMinimum
Python3.10+
OSLinux (Raspberry Pi OS for hardware), macOS/Windows for mock mode
RAM256 MB
NetworkAny — WebSocket streams over local network

Verify Installation

pieeg-server doctor    # diagnose hardware, software, configuration
pieeg-server --mock    # start with synthetic data (no hardware needed)

Open http://localhost:1617 (opens in a new tab) to see the dashboard.