Can RC transmitter analog joystick be controlled by Arduino analog pin?

Hi All,

I don't have an RC transmitter to test this out, and i'm hoping that someone can shed some light on the issue.

I know that gaming and RC analog joysticks have 3 pins (for each axis), and one of those pins outputs an analog voltage.

If I disconnect the joystick's positive and negative voltage reference pins, and then connect the joystick's signal pin to an arduino analog pin....

...can I wire the whole joystick this way and then control the RC vehicle, or video game with an arduino program? Thanks for any insights!

...can I wire the whole joystick this way and then control the RC vehicle, or video game with an arduino program?

You can wire the joystick pot to the arduino somewhat like you describe, but you also seem to have said you disconnected from the original electronics. As such, it is no longer able to interface with the RC vehicle, or video game.

Hi zoomkat,

In looking at a single axis of one potentiometer, i was just thinking of disconnecting its positive and nagative voltage pins. I would leave the middle signal pin connected, and just attach an arduino analog pin to it. Sorry for being unclear.

I think i'm going to give this a try since you say it might work. Do i have to take readings from a potentiometer first? Or if the potentiometer uses 5V, and the Arduino uses 5V, twill the Arduino's analog signals match somehow?

In looking at a single axis of one potentiometer, i was just thinking of disconnecting its positive and nagative voltage pins.

You will need to connect the pot positive to arduino 5v and the pot ground to the arduino ground. Google for "arduino pot schematic".

exwhyzed:
In looking at a single axis of one potentiometer, i was just thinking of disconnecting its positive and nagative voltage pins. I would leave the middle signal pin connected, and just attach an arduino analog pin to it. Sorry for being unclear.

Your title says clearly that you want the Arduino to control the joystick.

But I suspect the advice people have been giving you is about using the joystick to control the Arduino - i.e the exact opposite of your title.

What exactly do you want to do?

An Arduino analog pin is for reading the value of the voltage on a potentiometer

...R

I want to use a computer to control an RC vehicle. i figure the easiest way is to send signals to the potentiometers of an rc transmitter to affect the RC vehicle. That way, i won't need to figure out any complicated way to interface a computer with the RC transmitter circuit board, or computer with the RC car receiver board. I figure this way, i can generate commands on a PC, then send them out of the USB port to the arduino, then the arduino will do some type of analog write to the transmitter joystick potentiometers which will then move the rc car.

The only other way i can think of is attaching an arduino to the receiver board on the RC car, and attach a bluetooth or other wireless device to the arduino, and then use a PC to send the arduino commands...still trying to figure out which is the easiest approach. thanks for the help!

exwhyzed:
I want to use a computer to control an RC vehicle. i figure the easiest way is to send signals to the potentiometers of an rc transmitter to affect the RC vehicle.

Just as well I asked you to clarify ...

You can't send signals to a potentiometer. A potentiometer is a device that sends "information" to something else.

You could replace the existing potentiometers with digital potentiometers which are designed to be controlled by a computer such as an Arduino.

...R

I guess my final question would be...can the potentiometers then act as "dummy gateways," that will allow the arduino to send signals to whatever the potentiometer was sending signals to, which is the ic chip inside the handheld transmitter unit?

The joystick was sending analog signals, will the arduino's pwm be interpreted as the same type of signal? i hope so!

exwhyzed:
The joystick was sending analog signals, will the arduino's pwm be interpreted as the same type of signal? i hope so!

You are mixing things up.

Analog potentiometers have nothing to do with PWM.

They are real potentiometers whose variable resistance is changed by data sent from the Arduino rather than by turning a knob. Assuming you can get an analog pot with a similar resistance range as the original manual pot it should be a straight replacement - though probably not the same physical size and shape.

...R

Zed,
"whatever the potentiometer was sending signals " gives a very strong indication that you do not know/understand how RC xmitr.s & Rcvr.s work.

Most of the cheaper transmitters actually have a microcontroller, like the 386, in them. each 'joystick' has two pots on a gimbal, one for the x axis and one for the y axis. The pots act as variable voltage dividers, which are read by the uC's analog pins to determine an input to whatever PWM determination software (with offsets and any mixes are used). The PWM is then multiplexed and transmitted (with another transmitter, not the 386) to the receiver, where it is de-muxed and outputted to the appropriate channel (such as Rudder, Throttle, Allieron, & Elevator, in a 4 ch system). Those channels then drive their respective servos, ESC's, or whatever, with the received PWM levels. Really 'dirt simple', once you understand it.

Now, Please re-state your objective/question.

123Splat:
Now, Please re-state your objective/question.

My understanding is that the OP wants his Arduino to take the place of the person with his finger on the joystick.

...R

It is somewhat common request to be able to externally control an RC transmitter.

Edit: kind of clunky, but a servo could be set up to do the push/pull on a single axis joystick.

Hi All,

After much searching, i found someone who did just what i was trying to describe.

They zapped the transmitter inputs, bypassing the gimbals, and drove an rc car. It looks like their keyboard presses just did high/low. I wonder if pwm would work.

Edit: kind of clunky, but a servo could be set up to do the push/pull on a single axis joystick.

Hi zoomkat, i actually saw someone doing exactly what you described. I hadn't thought about using this method before, but its interesting.

123Splat:
Zed,
"whatever the potentiometer was sending signals " gives a very strong indication that you do not know/understand how RC xmitr.s & Rcvr.s work.

Most of the cheaper transmitters actually have a microcontroller, like the 386, in them. each 'joystick' has two pots on a gimbal, one for the x axis and one for the y axis. The pots act as variable voltage dividers, which are read by the uC's analog pins to determine an input to whatever PWM determination software (with offsets and any mixes are used). The PWM is then multiplexed and transmitted (with another transmitter, not the 386) to the receiver, where it is de-muxed and outputted to the appropriate channel (such as Rudder, Throttle, Allieron, & Elevator, in a 4 ch system). Those channels then drive their respective servos, ESC's, or whatever, with the received PWM levels. Really 'dirt simple', once you understand it.

Now, Please re-state your objective/question.

So if i was sending PWM in the first place, i guess the microcontroller will be running it through its ADC converter, which wouldn't be right. I'd have to run my PWM through a DAC converter first, then as it gets to the microcontroller, it would be converted to digital, just as an analog joystick's wiper signal would be.

I'm going to try using pwm only, without converting it to analog first.... just finalizing my hobbyking order which includes an RC transmitter and vehicle as we speak!

exwhyzed:
Hi zoomkat, i actually saw someone doing exactly what you described. I hadn't thought about using this method before, but its interesting.

It is an option if you don't want to mess up your transmitter electronics.

exwhyzed:
So if i was sending PWM in the first place,

Please explain what you mean by PWM.

I am concerned that you are mixing up the signal that is produced with the Arduino servo.write() function and the output produced by analogWrite(). Unfortunately they are both referred to as PWM but they are very different.

But before there is any discussion of suitable code you need to clarify whether you want the Arduino to "control" your existing R/C transmitter (which is what I think you have in mind) OR whether you want to replace your R/C transmitter with something entirely different that involves an Arduino.

Another possibility is that you put an Arduino in your R/C car and have it receive data from another Arduino.

...R

Hi Robin2,

Yes you are super correct that i have mixed up both types of PWM! And i'd like to clarify that i'd like the arduino to control my existing (i still haven't bought it yet though) R/C transmitter.

I'm currently experimenting with 2 NRF24L01 modules, one on each arduino, and getting one to control the differential drive DC motors attached to the other one. I like that these are cheap modules, but i don't like that they don't do the whole spread spectrum thing like many RC transmitters do.

Instead of buying another type of arduino compatible module that does spread spectrum, i just want to interface with an RC remote.

exwhyzed:
i don't like that they don't do the whole spread spectrum thing like many RC transmitters do.

I suspect they could be programmed to do so, but I don't know how.

If you are controlling a ground (or water) based vehicle rather than a flying vehicle I suspect the lack of spread-spectrum will not matter.

...R