Introduction: RC Simulator Using Tx, Arduino & PC

New to RC aircraft but want to learn controls without the crashes and tears?

Then you are reading the right Instructable :D

Applicable only if your transmitter comes with a DSC Port (3.5mm stereo jack female) :P

Credits

This Instructable would not be possible without the hard work of Richard Prinz.

His original article can be found here.

I'd like to thank my fellow group members of college RC project Ananth K. Shetty, Anish N. and Karthik K for their wholehearted support.

I'm grateful Andrea Gonsalves, Austin Montheiro and Claran Martis for their help.

A big thanks to Vishal Rao of Kinetic Hobbies for running Mangalore's only hobby shop and also for his help in selecting parts.

Step 1: Things Required

1. Transmitter with DSC Port

Please make sure that you DSC port happens to be a 3.5 mm stereo jack (female).

I'm using an Avionic RCB6i, a 6 channel TX, manufactured for RcBazaar

I bought mine from the retail store of Kinetic Hobbies, in Mangalore, India.

They sell all things required to build RC models.

2. Arduino

The transmitter outputs a PPM (square wave) signal.

We need an Arduino to convert this signal into a PC readable one.

I'm using a Duemilanove (2009), but you can practically use any Arduino board.

3. 3.5 mm Stereo Jack (Male)

This goes into the DSC port of the transmitter.

4. Pin Headers

We solder these to the wires so that connecting them to the Arduino becomes easier.

5. Wires

Links audio jack to the pin headers.

Preferably longer than a foot.

6. PC

To run simulator software.

I'm using FMS, but feel free to use others.

Step 2: Solder the Connections

1. Solder wires to the jack

  • solder sleeve to ring, or right channel to ground.
  • solder a wire to the sleeve-ring junction, preferably black.
  • solder another wire, preferably not black, to the tip (left channel)

2. Solder pin headers to the wires.

Just solder a pin header to each wire.

If you'd like, you can hot glue the soldered joints to strengthen them or even use heat shrink.

Step 3: Prepare the Arduino

1. Download Arduino sketch.

The sketch is authored by Richard Prinz and Reynir Siik.

2. Add MsTimer2 library to Arduino IDE

Most probably this library does not exist in you IDE.

You'll know for sure when compiling :P

3. Select your Arduino board and COM Port

  • Tools > Board
  • Tools > Processor
  • Tools > Port

4. Compile and upload

You'll know if everything went right.

Step 4: Set Up Simulation Software

I'm using Flying Model Simulator on Windows 8.

It's made by Roman & Michael Möller.

Click here to download

Install it and try running it.

Since it has not been updated from a long time, you'll get an error saying that D3DRM.DLL is missing.

Happens only if your Windows is newer than XP.

Download D3DRM and copy the DLL to the installation folder of FMS.

The default models in FMS are a bit hard to fly for beginners like us.

I recommend downloading Towel, an easy to fly delta wing model.

FMS has no quadcopter models, so download Quadro from this page.

You need to extract the contents of both zip files to the Model sub folder in FMS folder.

Step 5: Make the Connections

1. Plug in the pin headers to the Arduino

  • Black wire to GND
  • The other one to digital pin 3 (D3)

2. Plug in the jack to the DSC port

Your DSC port will most probably be on the front or the top of your Tx.

3. Connect the Arduino to PC

USB

4. Power ON the transmitter

If your connections are right, the transmitter will give you some sort of feedback.

For example, mine shows "PPM" on the display.

If your transmitter hasn't got one, it might beep or blink a LED.

Step 6: Map and Calibrate Channels

Do as shown in the images.
In FMS, click Controls > Analog Controls

1. Select Serial PIC interface

This will select TX & Arduino as our input device.

2. Click Resources Set port and baud rate.

COM Port varies but baud rate is 19200, as set in Arduino.

3. Click Mapping/Calibration.

4. Map TX Channels

The channel settings for RCB6i are shown in the image.

Note: Keep mixing OFF.

If you have a different TX, consult its manual and change to the corresponding channels.

For example, the manual of RCB6i states

ch 1 - aileron

ch 2 - elevator

ch 3 - throttle

ch 4 - rudder

Tail, Nick, Roll and Pitch are the settings for copters.

They correspond to Rudder, Elevator, Aileron and Throttle in planes.

You might need to invert your channel and set exponential ON based on your transmitter's settings.

5. Calibrate Channels

Click calibrate and follow the instructions shown carefully.

Step 7: Fly Away

  1. Set COM Port. Has to be done every time you run FMS :(
  2. Choose model from Model menu
  3. Choose landscape from Landscape menu
  4. Use your TX like you'd fly a real plane.

I prefer to fly the Towel and Hughes as they are the most easy to control plane and helicopter models respectively.