Skip to main content
By default the Quest sends controller poses to the robot over Wi-Fi. On some networks, Wi-Fi power saving holds poses back and releases them in bursts, with gaps of about 150 ms. The arms then move in jerky, delayed steps. Quest over USB sends the poses over a USB cable instead.
USB carries controller poses only. Camera video still uses the network, so connect to the robot’s address as usual.
With USB on, the headset sends each pose over both the cable and Wi-Fi, and the robot uses whichever copy arrives first. If the cable drops, Wi-Fi takes over with no reconnect. When the cable comes back, USB takes over again.

One-time setup

1

Enable Developer Mode on the Quest

  1. Open the Meta Quest mobile app on your phone, with your headset connected.
  2. Go to Menu → Devices, select your headset, then Headset Settings → Developer Mode, and turn it on. The app may ask you to create a free Meta organization first.
  3. Restart the headset.
This is the same Developer Mode used for remote teleop.
2

Confirm adb is installed on the robot machine

The one-command install runs axol provision, which installs adb and the Quest USB permissions. On a development install, run axol provision once.

Connect and drive

1

Plug the headset into the robot machine

Use a data-capable USB-C cable from the headset to the machine running axol serve (the one wired to the robot).
2

Authorize and connect from the control panel

In the control panel, open the Quest tab under General settings to see the headset’s state. The first time, put on the headset and accept the Allow USB debugging? prompt. Tick Always allow from this computer.The link then connects on its own and the status turns green: Controller over USB. If it doesn’t, press Connect.
3

Confirm the tunnel on localhost

In the headset browser, open https://localhost:8001 and accept the certificate warning. This is the control panel, reached over the cable. If it loads, the cable link works. You can also use the control panel from the headset this way.
The browser approves each port separately. Accepting the warning on port 8001 doesn’t cover port 8000, which you approve in a later step.
4

Enable USB in the VR app

Open the VR app at axol.almond.bot, enter the robot’s address as usual, and tick Quest over USB. The USB status and the Authorize USB certificate button appear right away, before you connect.
5

Authorize the USB certificate

The USB link uses port 8000, which needs its own approval. Until you approve it, the app uses Wi-Fi and shows Quest over USB: not connected, using Wi-Fi.
  1. Start a teleop or data collection operation from the control panel. Port 8000 is open only while one is running.
  2. Tap Authorize USB certificate and accept the warning. You can also open https://localhost:8000 in the headset browser.
The status changes to Quest over USB: connected.
6

Enter VR

Press Enter VR and teleoperate as usual. You don’t have to wait for the USB link. Wi-Fi drives the arms until the cable link is up, and then the robot switches to it.

Troubleshooting

Next steps

Web Control Panel

Where the Quest settings tab lives and how connections work.

VR Interface

The WebXR app, camera views, and connection details.

Quest Without Wearing It

Keep the headset awake while nobody wears it, using the same cable.