This project allows you to use your RC Car transmitter and receiver as a USB Gamepad. It is designed for VRC Pro, but works with any simulator that supports standard USB joysticks.
It converts the PWM signals from an RC Receiver into a USB HID Joystick device using a Raspberry Pi Pico (RP2040).
This is a port of the original ATmega32U4 project by kekse23.de. Most of this port was completed by AI.
-
Plug & Play: Identifies as "VRC-USB" in Windows.
-
High Performance: Uses the RP2040's PIO/Interrupt capabilities for low-latency signal reading.
-
4 Channels: Supports Steering, Throttle, and two AUX channels.
-
No Drivers Needed: Uses standard HID Gamepad drivers.
-
Raspberry Pi Pico/Waveshare RP2040-Zero (or any RP2040 based board).
-
RC Receiver (Any standard PWM receiver bound to your transmitter).
-
Male Futaba style connectors (Required to connect to your receiver).
Raspberry Pi Pico
| Function | RC Receiver | Pico Pin | GPIO Pin |
|---|---|---|---|
| Power | Red* | 3V3 (OUT) | Pin 36 |
| Ground | Black/Brown* | GND | Any GND |
| Steering | Signal Ch 1 | Pin 34 | GPIO 28 |
| Throttle | Signal Ch 2 | Pin 5 | GPIO 3 |
| Aux 1 | Signal Ch 3 | Pin 6 | GPIO 4 |
| Aux 2 | Signal Ch 4 | Pin 7 | GPIO 5 |
RP2040-Zero
| Function | RC Receiver | Pico Pin | GPIO Pin |
|---|---|---|---|
| Power | Red* | 3V3 (OUT) | Pin 3V3 |
| Ground | Black/Brown* | GND | Any GND |
| Steering | Signal Ch 1 | Pin 28 | GPIO 28 |
| Throttle | Signal Ch 2 | Pin 3 | GPIO 3 |
| Aux 1 | Signal Ch 3 | Pin 4 | GPIO 4 |
| Aux 2 | Signal Ch 4 | Pin 5 | GPIO 5 |
Any Pico/RP2040 should also work as long as you connect to the correct pins. If those pins dont exist on your board, you can amend the .ino file and recompile. Info below.
Note: You only need to connect power and ground once, either channel 1 or channel 2 can supply the power/ground. The other channel only needs to be signal.
Note: Most modern receivers operate perfectly on 3.3V. If your receiver strictly requires 5V to turn on, you must use a voltage divider or logic level shifter on the signal wires to protect the Pico or use the original project based on a ATmega32U4 which is 5V tolerant.
-
Download the
VRC_Pico.uf2file from the Releases page. -
Hold the BOOTSEL button on your Pico while plugging it into your computer.
-
A drive named
RPI-RP2will appear. -
Drag and drop the
.uf2file into that drive. -
The Pico will reboot and appear as a Game controller named VRC-USB.
If you want to modify pinouts or logic:
-
Install the Arduino IDE.
-
Add the RP2040 board manager URL in
Preferences:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package\_rp2040\_index.json
-
Install "Raspberry Pi Pico/RP2040" by Earle F. Philhower via Boards Manager.
-
Select your board: Raspberry Pi Pico.
-
Important Settings:
* USB Stack: Select "Adafruit TinyUSB". May need to install the library first.
- Upload the
VRC_Pico.inosketch.
-
Open VRC Pro.
-
Go to Options -> Control Options.
-
Click Calibrate.
-
This will load the Windows Game Controllers screen. Click Properties, then Settings and finally Calibrate
-
Following the Calibration Wizard to ensure all motion ranges are at 100%, then save.
-
Once back in VRC Pro, check that ranges use 100%. If any are reversed, you can use the 'reverse steering/throttle' option to correct, or adjust on your transmitter.