Thread Tools
Aug 04, 2016, 02:32 PM
Registered User
Thread OP

Arduino RC Receiver USB Adapter

RC Receiver USB Adapter

Arduino based game controller adapter for regular RC receivers up to 6 channels.
It acts as an USB joystick, dispatching the channels values read from a PWM RC receiver. Aimed to be fast and responsible, though simple to use with automatic calibration function. It can be useful to play simulator wireless from the computer with your favourite transmitter. Compatible with Windows, Mac, Linux, Android,IOS.

The .hex file and the supplied installer is only compatible with Sparkfun Pro Micro, do not try to flash it on other Arduino compatible devices. If you want to give it a go on other boards, then compile from source! Source:
Installer should be easy as double-clicking the install.bat while the Pro Micro is plugged in. Everything is detailed to the screen, so if there is any error you can start investigating

Worth checking before flashing!
hex-file checksum: d7065aed90c259e7ef3d8fe3dad3f1d7

Some jumperwires are needed to connect the receiver to the Pro Micro. Below on the picture you can see an example of wiring and setup in details.

(it is attached below to the post, i have no idea how to put it here)

The Pro Micro boards usually have 2 leds side-by-side, which are the TX and RX status lights. These are used to reflect the state of the adapter:
On every startup these are flashing twice, then one of them is going off, the other one stays on. This means booted up successfully and ready to play.
But if they stay on, that means the adapter is in calibration mode. The calibration data is loaded and verified during setup,
but if these are incorrect/missing than it goes to calibration mode automatically.
Automatic calibration
Calibration process is the same as everywhere, the sticks, pots, switches on all channels must moved to their extents. Preferably more than once and in slow motion.
The leds are lit
During calibration there is no sending of joystick values to the host, there is no feedback at all, except it is in '#DEBUG_ENABLED' mode. Though in debug mode it's only using terminal to send data, there is no hid interface. While in normal operation after the calibration data is accepted and saved it goes directly to play mode.
Manual calibration
Sometimes it is needed to re-calibrate the adapter, although there is valid calibration data saved. To achieve that just plug in the usb while pushing the attached button. Then everything should be the same as with automatic process.
> Still under development so any advice is welcome regarding the code or feedback on use! Only known restriction is the calibration autosave function accepts only if there is 6 working channels calibrated. In case you connect less channels then you always need to push the button to save calibration data.
Last edited by gregnau; Aug 05, 2016 at 01:34 AM.
Sign up now
to remove ads between posts
Aug 14, 2016, 12:41 PM
Registered User
Looks promising. Tried it myself once, my project got paused when trying to incorporate joystick, mouse & keyboard all in single AVR. Wanted to make solution where:
- flipping a swith on TX tranforms none-throttle stick to mouse pointer
- Allow to send configurable key stroke sequences when flipping a TX swith
As said, took me a bit too long to get the USB configured properly so project stalled.

Any change you fancy tackling the above ?
Jun 08, 2018, 03:07 PM
Registered User
I have built something similar, but (right now) limited to 3 channels. Im using it with the VRC car racing simulator. Im using a Digispark board, which has an ATTINY85 chip onboard.

You can check the schematics in my website

Quick Reply

Thread Tools