Is it possible to make an arduino based RC transmitter that can communicate with an off-the-shelf RC receiver?
I'd like to control a remote servo, it seems the simplest way to communicate with it is via a standard RC receiver, they're very small, lightweight and cheap - just what I need.
My problem is that the transmitter will also be airborne. Normal RC transmitters are quite bulky handheld units, I need a very lite-weight unit. Is it possible to buy/make an arduino transmitter that can be picked up by an RC receiver? The research I've done shows lots of projects where an RC receiver communicates with an arduino, and one or two projects where an arduino is hacked into a standard RC transmitter, but I'm looking for a solution that's as small and light weight as a XBee board.
Any suggestions?
I should add that I'm UK based, which limits me to 2.4Ghz, 27Mhz, 35Mhz & 40Mhz
I'm beginning to think I may have to. If I could transmit data to a standard RC receiver, then that receiver can connected directly to the servo - no need for any extra components. If I need to use a Xbee board, then I need to connect it to a arduino and then connect the arduino to the servo - a lot of extra complexity.
I've never used it but did find it a while back when looking at a similar problem. I think if you connect an arduino PWM signal to the transmitter, it will reappear on the output of the receiver.
It's a start, but it's for a 6 channel interface, so the input connector (3 wires) must use some sort of protocol to identify each channel. Nowhere can I find any information on that protocol.
It's a start, but it's for a 6 channel interface, so the input connector (3 wires) must use some sort of protocol to identify each channel.
RC gear uses a unique plug and socket for each connection, so the protocol is simple point-to-point PWM - the channel is identified by the connector in use.
RC gear uses a unique plug and socket for each connection, so the protocol is simple point-to-point PWM - the channel is identified by the connector in use.
That's true at the receiver end, but the 6 channel transmitter only has one three way connector, from the limited documentation I've found, two are for power, and one is for the PWM control signal. So somehow the control signal must identify both the required setting for a servo, and the channel it's on (i.e. the connector it's plugged onto at the receiver end)
Between the transmitter and receiver, the "protocol" is PPM, with a sufficiently long enough inter-frame gap to allow the receiver to reset and resync.
So, your six channels consisting of six PWM pulses have, say, a couple of hundred microseconds between them; six times 2ms (max) plus five times 0.2ms = 13ms, giving an inter-frame time of 7ms.
So it's one frame for each channel? how is each frame (channel) identified? Is this protocol universal between manufacturers? or does each have it's own?
I have done a lot more research since starting this thread, but have found it very hard to track down a definition of this protocol.