Arduino+rc receiver+servos+ESC

I'm planning a project and I need to read 4signals from an rc-receiver and 3 analog input.

This signals must be reelaborated by Arduino(or similar) and I will control 3servos and 3ESC(electronic speed controllers).

I want to know if it is possible to use Arduino2009 for this task or I need Arduino Mega.

If you think it is impossible to use Arduino please explain me the reson why and please tell me which board best suits my project.

Than You!!!

How easy it is depends on your receiver. If you can access to the composite data stream from the receiver than you can decode the signal using a library discussed in this thread.

The code uses the same timer On a standard arduino) as the Arduino servo library, but there is a library here that uses a different timer:

Ok but I haven't an fact my problem is to establish wich board is the best for me before I buy the board...

I thought all the receivers have the same'nt it? How can I use different servos with different receiver if they aren't standard?

P.S. sorry for my English...

Decoding servo pulses on each pin is possible but quite difficult. The approach discussed in that thread uses the combined signal of all the servo pulses, but the Arduino decodes the signals rather than the receiver.

This project isn't easy - there is no beginners tutorial to make everything simple. I suggest you read through that rather long thread and see if it makes sense to you.

Not sure what to recommend for the arduino baord. The code was written before the mega existed so I have only run it on a standard arduino board. The Mega has more timers so it may be possible to use the standard arduino library and the ServoDecode library together - but the pin numbers will be different and it would need some additional research on your part.

Why not read through the thread and see if its something you want to tackle.


Thank you very much!!

I'll read the thread as soon as possible!!

Thank you!

Ok I'have read a bit the discussion...even if my English isn't perfect I think I have understand that that program read the signal from only one pin and devides it in all the 8 signals sent from the transmitter...I'm right?

To use that method I must be shure that the receiver can send a signal with all the commands on a single can I check it? All the receivers can send that type of message?

For my project at the beginning I suppose to use four different output of the receiver connected to four different digital pins of the board...can I use this method? Is it possible with 2009? Infact I found an exaple using this method...but in this project the author needed only 2 pin because he used only 2 commands from the receiver...and to read this signals he used Arduino2009 pin 2&3 that are called "External Interrupts"...but I need 4 input like this...

I think that if someone can give me a link where is explained how rc receivers works I can solve a lot of my problems...

Than You!!

Most conventional (non digital) receivers have a signal containing all the pulses in sequence. If you don’t yet have a receiver, the thread shows how you can attach a wire to get this signal from to easily available low cost receivers. If you already have a receiver, what is the model number?

If you don’t want to hack the receiver, you could use a mega board. The 2009 board has only two external interrupts but the Mega has 6, so the mega could read 4 servo outputs on 4 pins using 4 external interrupts. Perhaps have a search to see if anyone has posted code to do this.

The receiver is a Corona RS810II

I don't know if it has an output with all the signals in sequence.... what can you mean whith "hack the receiver"?

If it need e reversible modification I'm very happy to do that...but if the hacking is definitive I'd prefer not to do...because I still use the receiver for models..

Can the hacking be made outside the receiver?

Hacking means soldering a wire to the receiver pcb. The Corona has a tiny PCB and would be difficult to solder. But for less than $12 shipped you can get a receiver that is quite easy to solder, see this thread:

If you do get another receiver, make sure it is the correct frequency for you country.

mem I think I have found a receiver to be week it will be in my hand!!

So I have some more question about your work...sorry if my questions are silly but I haven't still used Arduino.

To use your program I must use a specific pin on arduino works reading input from any pin?

With your program I will read alla the signals..but if I use a n-channel TX and a k-channel RX in your program I must set the number of channel of the receiver or the transmitter?

With your program I can modify the input or I can only use it withouth modification?

Thank you very much!!!

To use your program I must use a specific pin on arduino 2009... Yes, it only works on pin 8 with an Arduino 168/328 (Arduino 2009). This is a hardware restriction and cannot be changed

With your program I will read alla the signals.. yes, all channels (up to 8) will be available

if I use a n-channel TX and a k-channel RX in your program must I set the number of channel of the receiver or the transmitter? it should work with any number of channels up to and including 8

With your program I can modify the input or I can only use it >withouth modification? It has worked without modification an all the receiver that I have tried

have fun!


The last thing...for the moment....if I wnato to modify an input detected with your it possible? for example if from the receiver I read a command that make a servo move to 100% can I modify it to move to 90%?

Thank you!!!

If you connect the servos to the Arduino instead of the receiver, the servos will be fully controlled by your sketch. But note that the decoder uses timer1 so you need to use the servoTimer2 library I linked in an earlier post.