Hardware
Devices
PiEEG_XR
Software

Software

PiEEG XR streams over Bluetooth LE. Pick the option that fits what you want to do.

Best forRuns on
BodyPress for QuestSeeing your signals inside VR, VR gamesMeta Quest
BodyPress for AndroidQuick tests and recording on a phoneAndroid
PiEEG CloudTesting without a headset, dashboards, Face TrainerChrome or Edge
PiEEG ServerRecording, LSL, OSC, WebSocket stream to any languageWindows, macOS, Linux
VRChat avatarAn avatar that reacts to your brainPC + VRChat

The device advertises as PiEEG XR. It uses the same Bluetooth protocol as IronBCI.

BodyPress on Meta Quest

Install the native VR app and see your bio-signals inside the headset.

BodyPress on Android

Test and stream on an Android phone: BodyPress on Google Play (opens in a new tab).

PiEEG Cloud

You don't need a headset to try PiEEG XR.

  1. Open cloud.pieeg.com (opens in a new tab) in Chrome or Edge, with Bluetooth on.
  2. In the Session Lobby, open the PiEEG Devices tab and choose PiEEG XR (8 channels) or PiEEG XR-16.
  3. Pick PiEEG XR in the browser's Bluetooth window.

Then:

  • Watch the live data and run the blink and jaw tests.
  • Try the band-pass filter and other settings.
  • Save your data.
  • Test facial expressions in Mini-Games → Face Trainer.

Videos: quick test and data quality (opens in a new tab) · Face Trainer (opens in a new tab)

PiEEG Server

PiEEG Server connects to PiEEG XR over Bluetooth on a PC and adds recording, LSL, OSC and a WebSocket stream. Use the IronBCI driver, which also finds PiEEG XR units:

pip install "pieeg-server[ironbci]"
 
pieeg-server --device ironbci8                                   # scan and connect
pieeg-server --device ironbci8 --ble-name "PiEEG XR"             # pick it by name
pieeg-server --device ironbci8 --ble-address AA:BB:CC:DD:EE:FF   # skip the scan

Dashboard: http://localhost:1617 (opens in a new tab). More: IronBCI software · Configuration.

PiEEG Server's IronBCI driver reads 8 channels. For a 16-channel PiEEG XR-16, use PiEEG Cloud.

Brain-reactive VRChat avatar

Send your EEG band powers to VRChat over OSC and let them move your avatar (ears, tail, effects).

 PiEEG XR ─BLE─► PiEEG Server (PC) ─OSC, UDP 9000─► VRChat ─► avatar animator

1. Start PiEEG Server with OSC

pieeg-server --device ironbci8 --osc

It sends five float parameters (0–1, normalised) to VRChat on UDP port 9000:

OSC addressBand
/avatar/parameters/EEG_Delta0.5–4 Hz
/avatar/parameters/EEG_Theta4–8 Hz
/avatar/parameters/EEG_Alpha8–13 Hz (relaxed, the easiest to control)
/avatar/parameters/EEG_Beta13–30 Hz
/avatar/parameters/EEG_Gamma30–100 Hz

2. Enable OSC in VRChat: Action Menu → OSC → Enabled. OSC Debug shows the incoming values.

3. Add the parameters to your avatar in Unity: add the five EEG_* floats to the avatar's Expression Parameters and Animator, then drive an animation (for example a blend tree on EEG_Alpha). For ears or a tail, set a PhysBone's Parameter field to EEG_Alpha.

OSC is a PC feature. On a Meta Quest, run VRChat on the PC through Air Link or Steam Link.

Full guides: Brain-reactive VRChat avatar (opens in a new tab) · video (opens in a new tab) · step-by-step manual (Word) (opens in a new tab) · VRChat OSC reference