Install
$ pip install pieeg-serverPython 3.10+ · hardware auto-detectionPiEEG Server / signal infrastructure
One Python server turns EEG, EMG, ECG, and EOG hardware into a live WebSocket stream, a browser dashboard, and an open endpoint for whatever you build next.
01$ pip install pieeg-serverPACKAGE READY
02$ pieeg-serverHARDWARE DETECTED
03ws://raspberrypi.local:1616STREAM OPEN
01 / Platform position
It is the transparent middle: hardware enters on one side, timestamped channel data leaves on the other. The format stays simple enough for a browser, Python script, XR environment, notebook, or real-time integration to understand.
02 / Signal router
Switch the source hardware and destination to see the exact local route PiEEG Server creates.
$ pieeg-server --device ironbci32 --serial-port /dev/ttyACM0High-density USB serial acquisition
03 / Launch sequence
Install
$ pip install pieeg-serverPython 3.10+ · hardware auto-detectionStream
$ pieeg-serverWebSocket :1616 · dashboard :1617Open
$ http://raspberrypi.local:1617Inspect the live stream in any browser04 / Observable system
The PiEEG Server dashboard keeps the live acquisition, frequency structure, and signal quality visible in the browser.
LIVE WAVEFORMSFREQUENCY VIEWSIGNAL QUALITYInspect every active channel as the stream moves through the server.
Move between time-domain signals and their frequency structure.
Monitor the acquisition before building decisions on top of it.
Capture annotated CSV sessions and replay them at 0.5×–2× speed.
05 / WebSocket contract
Every frame carries a timestamp, a monotonic sample number, and an array of channel values. Any language with WebSocket support can listen.
import asyncio, json, websockets
async def main():
uri = "ws://raspberrypi.local:1616"
async with websockets.connect(uri) as ws:
async for message in ws:
frame = json.loads(message)
print(frame["n"], frame["channels"])
asyncio.run(main()){
"t": 1711234567.123,
"n": 42,
"channels": [12.34, -5.67, ...]
}06 / Routes outward
--oscStream band powers to avatar parameters
--lslConnect with OpenViBE, MNE, and LabRecorder
JSON controlCreate HTTP callbacks from EEG events
notebooks/Load CSV or inspect a live stream
07 / Open the endpoint