Lab Streaming Layer
Push raw EEG samples to the LSL network. Discoverable by OpenViBE, MNE-LSL, BCI2000, NeuroPype, LabRecorder.
pieeg-server --lsl # enable on startup
pieeg-server --lsl --lsl-name MyEEG # custom stream nameToggle at runtime via dashboard or WebSocket (lsl_start / lsl_stop).
Receive in Python
from pylsl import StreamInlet, resolve_stream
streams = resolve_stream('name', 'PiEEG')
inlet = StreamInlet(streams[0])
sample, timestamp = inlet.pull_sample()WebSocket Control
{"cmd": "lsl_start"}
{"cmd": "lsl_stop"}
{"cmd": "lsl_status"}Stream Properties
| Property | Value |
|---|---|
| Name | PiEEG (configurable via --lsl-name) |
| Type | EEG |
| Channels | 8 (pieeg8 / ironbci8) or 16 (pieeg16) |
| Sample rate | 250 Hz |
| Format | float32 |
Install the LSL extra: pip install pieeg-server[lsl] — requires pylsl>=1.16.
Compatible Software
- OpenViBE — BCI design & experimentation
- MNE-Python — MEG/EEG analysis
- BCI2000 — general-purpose BCI system
- NeuroPype — neural data processing pipelines
- LabRecorder — LSL stream recording