Quick Start
Install & launch
curl -sSL https://raw.githubusercontent.com/pieeg-club/PiEEG-server/main/install.sh | bash
sudo reboot # first time only, enables SPI
pieeg-server # or: pieeg-server --mock (no hardware)Open the dashboard
Browse to http://raspberrypi.local:1617 — you’ll see live waveforms immediately.
| Port | Purpose |
|---|---|
:1616 | WebSocket data stream |
:1617 | Web dashboard |
Connect from code
Python
import asyncio, json, websockets
async def main():
async with websockets.connect("ws://raspberrypi.local:1616") as ws:
async for msg in ws:
frame = json.loads(msg)
print(f"#{frame['n']}: {frame['channels']}")
asyncio.run(main())Every frame is plain JSON — no SDK, no binary protocol, works in any language that has WebSocket support.
Common Launch Modes
pieeg-server # stream 16 ch (default)
pieeg-server --device pieeg8 # 8-channel shield
pieeg-server --device ironbci8 # IronBCI / EAREEG via Bluetooth LE
pieeg-server --filter # 1–40 Hz bandpass
pieeg-server --monitor # terminal sparklines
pieeg-server --mock # synthetic data, no hardware
pieeg-server --auth # require 6-digit access code
pieeg-server --osc # VRChat OSC bridge
pieeg-server --lsl # Lab Streaming Layer outletIronBCI / EAREEG
pieeg-server --device ironbci8 # auto-scan for EAREEG device
pieeg-server --device ironbci8 --ble-name MyBoard # custom BLE device name
pieeg-server --device ironbci8 --ble-address A1:B2:C3:D4:E5:F6 # skip scanIronBCI requires the BLE extra: pip install pieeg-server[ironbci]. No SPI or GPIO needed — works on any platform with Bluetooth.