Recording & Replay
Record
pieeg-server record session.csv # standalone, Ctrl-C to stop
pieeg-server record session.csv --duration 300 # 5 minutes
pieeg-server record session.csv --device pieeg8 # 8-channel PiEEG
pieeg-server record session.csv --device ironbci8 --ble-name MyBoard # IronBCI via BLE
pieeg-server record session.csv --device ironbci32 --serial-port /dev/ttyACM0 # 32-ch
pieeg-server record session.csv --mock # synthetic data
pieeg-server --record session.csv # record while streamingThe record subcommand runs standalone (no WebSocket server). To record while serving, use --record FILE instead.
You can also start/stop recording from the dashboard or via the WebSocket API:
{"cmd": "start_record"}
{"cmd": "stop_record"}File Format
CSV with header: timestamp, ch1, ch2, ..., chN
| Detail | Value |
|---|---|
| Format | CSV: timestamp, ch1, ch2, ..., chN |
| Location | recordings/pieeg_YYYYMMDD_HHMMSS.csv |
| Sample rate | 250 rows/second |
| Annotation | Frame-based text markers; sidecar .annotations.json |
Playback
The dashboard session library provides full playback controls:
- Play/pause and seek via frame slider
- Speed control: 0.25×, 0.5×, 1×, 2×, 4×
- Time window: 2s / 4s / 8s display window
- Y scale: ±50, ±100, ±200, ±500 µV
- Annotations: Add/view text markers on any frame
Export
| Format | Content |
|---|---|
| CSV | Raw data with annotation column |
| JSON | Session metadata + annotations |
Recordings are stored locally on the Raspberry Pi. Download individual sessions from the dashboard's session library.
For a browser take that pairs the live bio stream with 33-point camera pose (points only, two clocks, no pixels), see BioPose Recorder. Confirmed frontal blinks are stored as blink events on that take. That path does not write the server CSV above.
For a labelled Aura VR take (8-ch palm EMG + IMU, guided rest/hold, optional Hand Landmarker), see Aura Dataset Lab. Native-rate JSON/ZIP; the 50 Hz table is labels only.