VRC Pro USB Dongle - Play VRC Pro Using a RP2040
by DynaMight in Circuits > Raspberry Pi
372 Views, 1 Favorites, 0 Comments
VRC Pro USB Dongle - Play VRC Pro Using a RP2040
For those that dont know, theres a Radio Controlled Car Simulator called VRC Pro it is free to play but since its a simulator its best played with an actual RC remote/transmitter.
Previously they used to sell a USB dongle which was only about €15, however those went out of production years ago and their latest offering is quite expensive at €60.
For quite a few years now there has been an open-source version using an Atmega32u4. Link HERE, there is nothing wrong at all with this project. I have built a few for friends to use and they work fine, some drawbacks are that the boards are not super cheap and to flash the firmware you need to compile it within Arduino IDE, if you know what you're doing its not always that bad but if you dont, its a minefield with newer cores and libraries not being compatible with older code and so forth.
I wondered if I could get it working on a Raspberry Pi Pico/RP2040. They are really cheap (esp the 'clones' from AliExpress) and they are easy to flash, just drag and drop the firmware/UF2 file and its done. I'm no coder, but I can tell AI what to do! so I told AI what I wanted and what should happen, gave it the original code for the Atmega32u4 and AI just spat out perfectly working code.... like literally first time too.
I choose a Waveshare RP2040-Zero for this project due to the small size and low cost, however the software will work on any Pico/RP2040.
Also it is capable of 4 channels, so this could possibly be used for other simulators such as planes/drones, it would also be possible to add further channels via the source code HERE but thats not in the scope of this guide.
Supplies
You dont need a lot for this project. If you're into RC, you may already have some parts.
RP2040-Zero: https://www.aliexpress.com/item/1005009890307580.html
Futaba Connectors: https://www.aliexpress.com/item/1005007701896461.html
Build the USB Dongle
Depending on your experience this may not be a very challenging project but its also a good starter project for those that dont have a lot of experience.
We only need to solder the first two channels, channel 1 is steering and channel 2 is throttle. There is also channels 3 and 4, which can be used, I havent personally tested these but should work!
I start by tinning the pads we require, so GND, 3V3, Pin 28 and Pin 3. Cut a futaba connector to roughly 10cm of wire and solder as per the pictures. Sometimes the wire colours differ, Black or Brown is GND, Red is Power (3V3) and White or Orange is Signal.
You only need to connect one of the connectors to GND & 3V3, you'll see in the pics I have cut these short and are not connected, you could also just remove those wires completely.
NOTE: We are powering the receiver with 3.3v. I have tested 4 different receivers and all have worked fine at this voltage however its possible that some may require further voltage to function properly, while you will see a 5v power output on the Pico, this is not recommended as will also supply 5v to the GPIO lines (which are designed to run at 3.3v) so will likely damage to the board. If your receiver requires 5v then its worth checking out the ATmega32U4 project, which is 5v tolerant. Its linked at the top of the page.
Flash the USB Dongle
Download the firmware/uf2 file here: https://github.com/DynaMight1124/VRC-Pico/releases
Flashing the RP2040-Zero is quite easy. Plug in a USB cable while holding 'BOOT' the PC will recognise it as a USB storage device. You then just need to drag and drop VRC_Pico.uf2 into the root of the drive. Once its copied, it will automatically disconnect, that means its flashed.
You may need to plug it in again and it will now recognise it as a USB gamepad called 'VRC-USB'
3D Printed Case
I have also designed a 3D printed case to make things look a little neater. Once its all soldered up, flashed and tested. You can print the two halves and insert as shown. Its a basic case that friction fits together, however you can also use superglue to properly close the two halves.
As for print settings, I used the usual 0.2 layer height.
You dont have to use the case. Shrinkwrap will do a good enough job!
Setup VRC-Pro
This part isnt terribly hard but you do want to ensure you are getting the full range of movement on throttle/brake and steering. Follow the below:
In-Game (VRC Pro)
- Open VRC Pro.
- Go to Options -> Control Options.
- Click Calibrate.
- This will load the Windows Game Controllers dialog box. 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.
Once you've done that then you're set to go. Play some VRC and shout marshal whenever you crash!