Download
joystick.zip, Zip file containing images and txt files.
Ordering parts or complete
kit
Introduction
With the introduction of RC simulators for the PC and also all of the PC based flight simulators that are around these days it would be very useful to those of us that are more use to handling the joysticks on our RC transmitters to be able to use your own RC transmitter with it's mixing function (if it has any) to control these programs.
This is the function of the PC joystick interface, it is for use with standard PPM sets, not PCM sets. The basic idea is that you can remove the crystal from your TX and , plug the lead from the joystick interface into the buddy box output of your TX and the joystick connector into the games port of your PC. This interface will only work with programs that are written to use the games port. The interface provides 2, 2 axis joysticks and 4 toggle switches which replace the fire buttons found on PC joysticks. I first designed an interface to do this about 5 years ago, it used all descret components and was not easy to set up, so it was decided that it was not suitable for publication. A second design based on digital potentiometers worked well and needed no setting up but was to expensive at the time because it needed 4 digital potentiometer IC's which were about 7.00 each. Recently the cost of these IC's has fallen and also a dual version has come out, so it is now a viable option.
The interface has been tested with both Futaba and JR equipment and the buddy box connections for this equipment are given, but it will work with all makes of equipment that have a buddy box output, that gives a pulse stream output from the encoder. This can been found by reading the manufactures instructions, if they say that you need both TX's switched on but only one crystal fitted or only one aerial extended (usually the instructor) then this is the system used by the interface. If the instructions say that you have to have both aerials extended and crystals fitted to both TX's for the same radio channel, then the buddy box system used by this equipment is not compatible with the interface.
For this interface to work properly you must have a joystick / games port on your PC that will accept 2 joysticks, most of the games ports that are included with sound cards seem to be OK, but a few early multi IO cards used to only implement 1 joystick connection for cheapness. Check your instructions and see if it say's that the games port can take 2 joysticks, it usually says that a 'Y' lead is required, but this is only to be able to plug 2 standard PC joysticks into the port, it is not needed for the interface as it is all wired in the one 15 way plug.
Technical Bit
The input signal from the buddy box output is decoded by IC1, once it has measured all of the channels it sends the value of the first 4 channels to IC1 and 2, these devices are dual 100k digital potentiometers which are replacing the pots in the PC joystick. PC joysticks usually use 220k pots but only work from 0 to 100k due to the reduced rotation ( only about 90 degrees), so the 100k digital pots work fine.
PIC12C508
The micro computer used in the interface is a PIC12C508 which has a RISC like CPU, and supports 33 instructions. The chip contains everything that is required to form a fully working micro computer, it has 12 input or output pins, 512 program memory locations and 25 bytes of RAM. This may not sound like much but because of the RISC type architecture the resulting code can be very compact. It also has a wide range of power supply limits, 2.5 volts to 6.25 volts at less than 2mA, making it ideal for use in model avionics systems.
Assembly
The unit only consists of 10 components and 4 switches, so there is very little that can go wrong. The only 4 components that need to be fitted the correct way round are IC1, 2, 3 and Q1. The correct orientation of these 4 components can be clearly seen in the component layout drawing. The toggle switches used only have 2 terminals on them, the switches all needed to be fitted the same way round, when looking at the PCB as shown in the component layout drawing the switches should be fitted with the missing terminal position towards the top of the PCB.
The unit is housed in a small plastic box, the PCB is mounted in the box using the 4 switches. This box can be fixed to the side of the TX with Velcro so that the switches can be operated without taking your hands from the TX.
The main components IC1,2,3 used in this design are CMOS devices and can be damaged by static electricity. When handling these items it is advisable to take some basic precautions, do not wear clothing which builds up a static charge, or handle the item until needed and before you touch it, try to touch a water pipe which should earth any static charge you have built up. DO NOT connect yourself directly to the mains earth.
The lead that you need to connect the interface to your transmitter is shown in the accompanying drawings, I have only been able to test the unit with Futaba and JR equipment and so these are the only makes of equipment that I have shown connection details for.
Testing Operation
Testing is very straight forward connect the interface unit to the buddy box output and plug the joystick connector into the games port of your PC. Switch the Transmitter on ( remembering to remove the crystal or TX module ). If you are using it with a PC program that has it's own joystick calibration function then use that to calibrate the program to use the interface. If you are using a program that is running under windows 95 then use the function in windows control panel to calibrate the interface for use with all programs.
If when testing the unit you don't get the stick movement matching the movement on the screen and your software does not allow you to change this in the setup / configuration option then you can swap the functions around by moving the wires connected to pins 3, 6, 11 and 13 of J1. These wires are the ones that replace the joystick potentiometers.
Other uses
As the interface is emulating 2 PC joysticks with their fire buttons, you could use any PC programming language that can read the values of the joysticks and the status of the fire buttons to produce your own program for may be recording your stick movements on a laptop to see what is happening when you perform certain manoeuvres, the possibilities are endless, let me know of anymore uses you find for it.
And Finally
I hope that this PC joystick interface is of use to you, and that you have gained an insight into the possible uses of the PIC range of micro computer chips in the world of model avionics. If anyone is inspired into trying to develop PIC based projects for themselves then please don't hesitate to write to me for advice or information about this wonderful little chip.