Using RC Transmitters With Flight Simulators

It’s winter, and that means terrible weather and very few days where flying RC planes and helicopters is tolerable. [sjtrny] has been spending the season with RC flight simulators for some practice time. He had been using an old Xbox 360 controller, but that was really unsuitable for proper RC simulation – a much better solution would be to use his normal RC transmitter as a computer peripheral.

The usual way of using an RC transmitter with a computer is to buy a USB simulator adapter that emulates a USB game pad through a port on the transmitter. Buying one of these adapters would mean a week of waiting for shipping, so [sjtrny] did the logical thing and made his own.

Normally, a USB simulator adapter plugs in to a 3.5mm jack on the transmitter used for a ‘buddy box’, but [sjtrny] had an extra receiver sitting around. Since a receiver simply outputs signals to servos, this provides a vastly simpler interface for an Arduino to listen in on. After connecting the rudder, elevator, aileron, and throttle signals on the receiver to an Arduino, a simple bit of code and the UnoJoy library allows any Arduino and RC receiver to become a USB joystick.

[sjtrny] went through a second iteration of hardware for this project with a Teensy 3.1. This version has higher resolution on the joystick axes, and the layout of the code isn’t slightly terrible. It’s a great project for all the RC pilots out there that can’t get a break in the weather, and is also a great use for a spare receiver you might have sitting around.

21 thoughts on “Using RC Transmitters With Flight Simulators

    1. It may be easier for some but would you would have to keep reprogramming it for each different transmission standard you wanted to use it with?

      For me this seams a great project with being able to plug it into any receiver you want to use.

      Many thanks Brian for your work in doing this.

      Regards Poppy Ann.

    1. Yep – did this a few years back with my hi-tec transmitter. Worked great. This is a bit more work, but would work with any transmitter you have a receiver for. When I did it there was a limited number of SPP supported transmitters – maybe that has changed since then.

      The wireless part of this solution is also pretty appealing as well as the potential knowledge re-use if you want to use the transmitter to control something else eventually.

  1. Nice work, Ive been thinking of doing similar and making a standard usb controller so I can use my tx’s with regular pc games etc. VRC is imho the turnkey solution though. With the limitation that the dongle only works with their program. Although i never tried it tbh.

  2. When I last (15 years ago? hitech 6 channel airplane radio, some kind of din connector) checked the output from the controller output on a transmitter it was just the servo pulses, just one after an other (sequentially, pulse train(?)) with a longer pause as sync. This should be easier to decode with an avr instead of timing them in parallel from the receiver. Or is the modern buddy signal not the same anymore? I haven’t check what is output from my spectrum radio.

  3. You usually don’t need to connect every channel between the receiver and the arduino (same is true if the arduino is your real flight controller). The servo signal on each consecutive pin goes high when the level on the previous pin goes low, and then it goes low when the next pin goes high. So for 5 channels you just need three input pins, for 7 channels you need 4, etc. You still get the same number of edge interrupts on your arduino or teensy.

    This is because the receiver splits the sum signal into N channels the easiest possible way. It also ensures that all the servos don’t draw power at the same precise moment.

  4. @sjtrny…I’m working on a project and I’d ideally want a transmitter like your Turnigy, however, for my application (somewhat like an RC tank), I need both joysticks to be spring loaded. For flight applications, usually the left joystick is limp, and the right is spring loaded to default to the middle position. Is there a way to easily make the left side spring loaded as well or is there a certain version that I should purchase?

    Cool Project btw!

      1. The problem with trying to “just get yourself some springs and apply them to the stick” is that you also need some extra parts that the spring connects to, when you just want to swap over the spring loaded stick from one side to the other is you have the parts required but the easiest way to make it so both are spring loaded is to just order a spare stick, sticks for the 9X range of transmitters are all around the £3.50/$5.25 mark just the time saved in not having to search around to locate a spring with the correct tension is worth the cost of a spare stick.

        Regards Poppy Ann.

    1. Hi Hwalker, I did a model RC bulldozer and i set the transmitter to use the left stick for both throttle and direction I used the Turnigy 9X transmitter and programmed it to transmit two channels one for each track and used the transmitter to do the working out of which channel has to move at what speed and it worked out quite easy to do (I did use er9x as the firmware in the transmitter and then used eePe to work out the programming via the simulator that is built into it which is much easier than trying to do it on the transmitter direct.
      If you want I can upload a copy of the mixes which would make it much easier for you.

      Regards Poppy Ann.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.