Get help with
PiEEG hardware & software
From electrode wiring to live WebSocket streams — complete coverage of PiEEG hardware, PiEEG Server software, and all integrations.
Quick Start Guide
Get streaming in under 5 minutes
One-line install on Raspberry Pi OS — enables SPI, installs pieeg-server, and starts the service
Browse to http://raspberrypi.local:1617, click Connect and start streaming in real time
Connect any WebSocket client to ws://raspberrypi.local:1616 — plain JSON, no SDK required
pip install pieeg-server
sudo reboot # first time only, enables SPI
pieeg-server # or: pieeg-server --mock (no hardware)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(frame["channels"])
asyncio.run(main())import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("pieeg_session.csv")
fig, axes = plt.subplots(4, 4, figsize=(16, 12),
sharex=True)
for i, ax in enumerate(axes.flat):
ax.plot(df.iloc[:, i + 1], linewidth=0.3)
plt.tight_layout(); plt.show()Complete Documentation
Organized by topic for easy navigation
Getting Started
Hardware
Software Features
API Reference
Integrations
- Jupyter NotebooksLive streaming and recording analysis notebooks
- octoWatch (Garmin Connect IQ)Stream 16-ch Octopus-16 EEG directly to Garmin watches
- Lab Streaming LayerLSL outlet for OpenViBE, MNE, LabRecorder
- VRChat OSCBrain-driven avatar control over OSC/UDP
- Webhooks & IFTTTTrigger automation from EEG detectors
Additional Resources
Community examples, tutorials, and learning materials
API Reference
Complete reference for the WebSocket data stream (port 1616) and data format. Plain JSON frames — works in any language with WebSocket support.
Can't find what you're looking for?
Ask the community on Discord or open an issue on GitHub. We're here to help.