Want a great and portable way to control and interface with the XRP robot? The Steam Deck is a great tool. It’s a full fledged Linux PC with a built-in gamepad and battery.
I’ve had a bit of a journey to get the XRP robot to work with the xrpcode.wpi.edu coding interface, BLE, gamepad on the Steam Deck, Linux, and Chromium. I pieced together how to do it from posts on this forum and others, so I thought I’d put it here to help anyone who follows this path.
XRP connection over Bluetooth with Linux Chromium
I’ve tested this on both an Ubuntu desktop PC (assuming you can connect a basic Bluetooth device like a mouse or headphones) and on the Steam Deck with vanilla software.
- For Steam Deck, go into Desktop mode.
- Download/install Chromium Web Browser. I just used the Discover App to find it and handle all the installation.
- Open Chromium and type “chrome://flags” in the address bar.
- Search flags “Bluetooth” and enable the flags: “Web Bluetooth”, “Use the new permissions backend for Web Bluetooth”, and “Web Bluetooth confirm pairing support”.
- Restart Chromium.
- Go to xrpcode.wpi.edu to bring up the web programming interface.
- Turn on your XRP robot.
- Click the “Connect to XRP” button and you should be presented with an option to connect via USB or Bluetooth- choose Bluetooth.
- You should see a pairing menu with available devices- one should be “XRP… something”. Pair with that and voila!
Note: you may have to update the XRP’s firmware over USB before this works. I did it along the way and don’t remember when I did it or if it was over USB on a Windows Chrome PC or over Bluetooth.
Steam Deck Controller
To get the Steam Deck gamepad visible with the browser assuming the Bluetooth stuff work above:
- Open the Konsole.
- Enter the command “flatpack --user override --filesystem=/run/udev:ro org.chromium.Chromium” into the Konsole.
- Restart Chromium if needed.
- In Chromium, go to Hardware Tester
- Hold the start button to switch to gamepad mode.
- Press a button like A and it should show up on the webpage as a Xbox 360 controller.
- All the buttons except the start button and backside buttons work. The start button remains bound to switch between desktop and gamepad mode.
- Reconnect with your XRP in xrpcode.wpi.edu and run the gamepad example program. Make sure that the Steam Deck is set in gamepad mode. Have fun following around your remote control XRP.