I am thinking about working on alternative drone controllers. I am looking into making it more easy to use and a natural feel (debating between sensor bracelets, rings, etc.).

The main issue I have is, I've been looking over all the standard RC transmitters that are used to control RC aircraft, but I am not sure what technology is inside of them, what kind of ICs they use for the actual RC signals.

I want more information on how to make an RC transmitter myself, mainly the protocol that's used to send messages, and what circuitry is needed to actually transmit that, what kind of components do I need and how should I implement the software?

I was aiming at doing this as a side project (hobby), but now I have the chance to use it as a uni project as well, so I'd like to give it a shot now, but I lack the proper information before getting started.

I'd rather not take apart my current RC controller and use an oscilloscope to decode the protocol.

Any answers (short or long) and reading material is appreciated.

Other questions, can the protocol be implemented in software on an embedded system (Raspberry Pi, Arduino, Intel Galileo, etc.)? I am asking this because the frequency for these are 2.4 GHz.

This is part of a bigger project, drone related currently, and I could use alternative methods of sending the information, through other wireless means, as the first prototype, suggestions are welcomed.

Need: aircraft RC transmitter protocol info, RC transmitter components & schematics, anything else that might help with the transmission side

  • $\begingroup$ This is an interesting question, but I fear that it may be a little too broad. However, why do you say because the frequency for these are 2.4 GHz? By these, do you mean the Pi, Arduino or Galileo? These boards are not confined to using 2.4 GHz. $\endgroup$ – Greenonline Mar 24 '16 at 1:44
  • $\begingroup$ I've mentioned 2.4GHz because that's what I've seen is the norm nowadays when it comes to RC Transmitters, and I'd like to have this prototype work with general RC receivers, so that you could potentially swap the transmitter with my device and continue flying, without having to change the receiver. I've also read about all the features of using Spread spectrum RC, with frequency hopping mainly, and would like to keep that. $\endgroup$ – user3000239 Mar 24 '16 at 8:29

I am, unfortunately, not going to address your entire question but, rather, focus on the frequency used for communications. Why do you say:

because the frequency for these are 2.4 GHz

By these, do you mean the Pi, Arduino or Galileo?

These boards are not confined to using 2.4 GHz. The reason 2.4 GHz is so popular is that it is one of the bands that the telecommunication authorities have deemed available for consumer use1, Bluetooth2, XBee (Series 1 and 2), and Wi-Fi3 being the common examples.

It is worth noting that 900 MHz devices generally have a larger range than 2.4 GHz devices. So, depending on the range that you require, you could chose from a wide range of communications devices and frequencies, for example:

XBee Pro 868 Long Range

XBee 868 LP


Also, other frequencies used, in addition to 2.4, 900, 868 MHz, are the 315 and 433 MHz bands:

433MHz Receiver/Transmitter



If you do decide to stick with 2.4 GHz then it is well worth considering the successors to the popular nRF24L01:

This product is not recommended for new designs. Nordic recommends its drop-in compatible nRF24L01+ or for a System-on-Chip solution the Nordic nRF24LE1 or nRF24LU1+.


A note on protocols

One of the advantages of using XBees is that they already implement a pretty rugged and secure protocol, so there is less need for you to have to re-invent the wheel. However, they are relatively slow (the data rate is 250kbps half duplex), so should you require FPV then XBee will not be sufficient. See also Drones and camera streaming.

Protocols implemented in software (using a Pi, Arduino, or whatever), could be a little slow and it is probably better to use one that is implemented in hardware as the control of aircraft is somewhat time sensitive, that is to say, the least lag possible is required, for accurate flight control.

  • $\begingroup$ I want to keep compatibility with existing receivers, that is why I wanted 2.4GHz, and for that, the last product you've shown seems to fit the requirement. In which case, I still have a few more questions before hitting google and finding out more on my own: 1. Is there anywhere I can find information on commonly used protocols? I'll have a hard time finding an oscilloscope to decode that kind of frequency. 2. Is it possible to reproduce a commonly used protocol, with a microcontroller such as Arduino (Uno or Galileo), or a Pi? (I have access to these only) $\endgroup$ – user3000239 Mar 24 '16 at 8:48
  • $\begingroup$ @user3000239 - Thanks for accepting my answer, although I am not sure whether it should actually be the accepted answer, as the other answers seem to address your question better. W.R.T. your other two questions, it might be better for you to strip out your questions about protocol in this lengthly question (and leave it solely about about ICs and H/W) and post a separate question specifically about which protocols are used and how to reproduce them programmatically. In your second question it would probably be wise to put a link referring back to this question, i.e. "Following on from..." $\endgroup$ – Greenonline Mar 24 '16 at 10:43

If you are looking at automatic control, consider using a radio modem instead of RC transmitter/receiver. One example. These are often used on hobby drones for relaying telemetry and control via ground station software.

The Pixhawk is a drone flight computer that works well for this. Designed by researchers, there are lots of inputs and a couple different open source code bases.

Remember that RF communications is not magic and the spectrum is full of noise (other users). Choose your frequencies wisely.


what kind of ICs they use for the actual RC signals

Traditional FM RC

The over-the-air signal to a RC aircraft is often a FM-modulated binary PPM signal in a narrow slice of the 72 MHz band.

That band is reserved only for RC aircraft.

The Phillips NE5044 is a typical RC encoder IC.

Often the receiver includes either a 4017 decade counter or a 4015 shift register -- that chip decodes the RC PPM signal at its CLK input into to several independent "RC PWM" outputs.

Open Circuits: servo control has more details.

Spread spectrum RC

The over-the-air signal to new RC aircraft is often a spread-spectrum modulated PCM signal spread out over a very wide 2.4 GHz ISM band. Modern spread-spectrum and error-correcting techniques allow more-or-less error-free communication, even though that band is shared with microwave ovens, WiFi, ZigBee, Bluetooth, and many other transmitters.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.