Submitted:
29 June 2026
Posted:
02 July 2026
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Supported Hardware
3. System Architecture
- Acquisition Layer
- b. Signal Processing Layer
- Spike rejection (Special developed Filter): A two-layer spike rejection approach combining a hardware delta-threshold filter (for SPI glitches) with a per-channel Hampel median-absolute-deviation (MAD) filter applicable to all device types. The Hampel filter is configurable at runtime via WebSocket (window size, n_sigma).
- Butterworth bandpass: A cascaded second-order section (SOS) IIR Butterworth bandpass filter implemented via scipy, with per-channel state memory and configurable cut-off frequencies (default 1–40 Hz). The optional pieeg-core Rust accelerator raises throughput of this hot path from ~992 samples/s to over 1,000,000 samples/s—a ~1057× speedup enabling server-side filtering on 16-channel rigs.
- c.
- Distribution Layer
- server.py — WebSocket broadcast on ws://0.0.0.0:1616
- recorder.py — Timestamped CSV writer with optional duration limit and session annotations
- monitor.py — Rich terminal TUI with per-channel sparklines and µV readout
- osc_vrchat.py — VRChat OSC bridge over UDP
- lsl.py — Lab Streaming Layer outlet (float32, 250 Hz)
- d.
- Dashboard Layer
4. Websocket API and Data Format
- EEG Frame
- b. Commands
- set_filter (enable/disable and tune the bandpass filter)
- start_record
- stop_record, lsl_start
- lsl_stop, osc_start
- osc_configure, webhook_create
- webhook_update
- webhook_delete
- hampel_config, reg_write (ADS1299 register programming),
- noise_test.
- c. Authentication
5. AI and BCI Capabilities
- Real-Time Cognitive State Detectors
- b. Single-Channel Deep Inspection
- c. Experiences Gallery and Neurofeedback Applications
- d. Lab Streaming Layer Integration
- e. Jupyter Notebook Integration
- f. Webhook Automation and Event-Driven AI
- g. VRChat and Extended Reality
- h. Mock Mode for Algorithm Development
- e. Built-In Documentation

6. Signal Processing Performance
7. Research and Development Workflow
8. Security and Deployment Considerations
9. Discussion
10. Conclusions
References
- Texas Instruments. ADS1299-x low-noise, 4-, 6-, 8-channel, 24-bit, analog-to-digital converter for EEG and biopotential measurements (Rev. C) [Datasheet]. 2017. Available online: https://www.ti.com/lit/gpn/ADS1299.
- PiEEG. PiEEG: Open-source Raspberry Pi shield for biosignals. n.d. Available online: https://pieeg.com/.
- Renard, Y.; Lotte, F.; Gibert, G.; Congedo, M.; Maby, E.; Delannoy, V.; Arrouët, B.; Lécuyer, A. OpenViBE: An open-source software platform to design, test, and use brain–computer interfaces in real and virtual environments. Presence Teleoperators Virtual Environ. 2010, 19(1), 35–53. [Google Scholar] [CrossRef]
- Gramfort, A.; Luessi, M.; Larson, E.; Engemann, D. A.; Strohmeier, D.; Brodbeck, C.; Goj, R.; Jas, M.; Brooks, T.; Parkkonen, L.; Hämäläinen, M. S. MEG and EEG data analysis with MNE-Python. Front. Neurosci. 2013, 7(267), 1–13. [Google Scholar] [CrossRef] [PubMed]
- VRChat Inc. VRChat (Version 2026.1.2). [Social virtual reality software]. 2026. Available online: https://vrchat.com/.






| Device | Channels | Interface | Form Factor |
| PiEEG-8 | 8 | SPI (Raspberry Pi) | HAT Shield |
| PiEEG-16 | 16 | SPI (dual ADS1299) | HAT Shield |
| IronBCI-32 | 32 | Serial | Standalone Board |
| IronBCI | 8 | Bluetooth LE (GATT) | Wireless Headset |
| Hook | Algorithm | Output |
| useBandPowers | Single FFT, averaged spectral bands | Absolute & relative power, dominant frequency |
| useFocus | (Beta + Gamma) / (Alpha + Theta + Delta) cortical engagement index | focus: 0–1, calibrated flag |
| useRelax | Alpha-dominance + theta-beta ratio composite | relaxation: 0–1, alphaRelative, thetaBetaRatio |
| useBlink | Amplitude-threshold state machine on Fp1/Fp2 | blinked, count, amplitude, lastBlinkTime |
| DSP Hot Path | Python (samples/s) | pieeg-core (samples/s) | Speedup |
| MultichannelFilter (1–40 Hz bandpass) | 992 | 1,048,658 | ~1057× |
| HampelFilter (spike rejection) | 24,619 | 358,361 | ~15× |
| decode_channels (24-bit SPI → µV) | 121,352 | 1,134,301 | ~9× |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).