Skip to main content
The Quest’s proximity sensor (inside the visor, between the lenses) puts the headset to sleep the moment it stops seeing a face. Sleep pauses the WebXR session, which stops the controller pose stream and the camera relay — so a headset set down on a desk kills the teleop link within seconds. That gets in the way of every headless workflow: driving a data-collection session from the control panel’s episode controls, watching the mirrored camera feeds while the headset only serves as the pose source, or leaving the VR app connected between takes. Disabling the proximity sensor keeps the headset awake as if it were being worn.

One-time setup

The headset must be in Developer Mode — the same one-time step used for Quest over USB: in the Meta Quest phone app, go to Menu → Devices → your headset → Headset Settings → Developer Mode, toggle it on, and restart the headset. The control panel’s Quest USB settings tab has a Keep awake button that disables the proximity sensor for you — no terminal, no extra software. Plug the headset into the robot host with a USB-C cable, accept the Allow USB debugging? prompt in the headset if it appears (the same authorization the pose tunnel uses), and press Keep awake. The headset now behaves as if it were worn continuously — the display stays on and the VR session keeps running with the headset sitting on a desk. You can unplug the cable afterwards; the setting holds until you press Restore (or the headset reboots).

Or over adb directly

The panel buttons run these adb broadcasts on the robot host (axol provision installs adb there), so the same thing works from any shell with the headset plugged in:
The override does not survive a headset reboot — after a restart the proximity sensor is back to normal and the command has to be run again.
With the sensor disabled the display never sleeps, so the battery drains at full VR rate and the lenses keep projecting. Keep the headset on its charger for long sessions, and re-enable the sensor when you’re done.

Alternative: Meta Quest Developer Hub

The Meta Quest Developer Hub (MQDH) desktop app has the same switch: connect the headset over USB, open Device Manager, and turn off Proximity Sensor (or press Ctrl+Shift+P). Note that MQDH re-enables the sensor about 10 minutes after the headset disconnects from it — and it means installing an app on a laptop — so the panel button above is the better fit for a headset that plugs into the robot.

Running headless

With the sensor disabled, set the headset down facing somewhere convenient and drive the session from the control panel:
  1. Open the VR app at axol.almond.bot in the headset, connect to the robot, and press Enter VR as usual.
  2. Set the headset down. The pose stream and camera relay keep running.
  3. Use the panel’s episode controls to start, save, and discard takes, and the operator view to watch the camera feeds. The controllers stay live throughout, so an operator can pick them back up at any time.

Next steps

Quest over USB

Wire the controller pose link over the same USB cable for lower latency.

Web Control Panel

Episode controls and mirrored camera feeds for headset-off sessions.