RC radio control protocols explained: PWM, PPM, PCM, SBUS, IBUS DSMX, DSM2



This guide will explain the various radio control receiver protocols that you are likely to come across in this drone hobby. So next time it comes to buying some new R/C receiver, or setting up your R/C receiver with your flight controller you will know exactly what all the acronyms mean and which one you should use.

This is not necessarily a guide on how to choose your R/C gear, but rather gives some details on the types of protocols your R/C receiver will use to talk to the flight controller.

PWM - Pulse Width Modulation

PWM has been around for a long time in the radio control hobby and is the protocol that your ESC’s and servos talk to each other on. The analogue signal takes the form of a pulse, and the length of the pulse represents a specific value, with 1000 being minimum, and 2000 being the maximum value.

Each channel has its own single wire, so if you have an 8 channel receiver you will need to connect 8 wires to read the inputs into your flight controller.

Almost every receiver you can buy will have the PWM output as it is very popular and generally supported by all flight controllers so its a good safe option, however the fact that you need to connect a wire per channel can get abit annoying and possibly lead to mistakes if you get the numbering incorrect.

PPM - Pulse Position Modulation

PPM is also an analogue signal, but instead of using a separate wire for each channel, PPM stacks each signal one after another to send them all along the same wire. This makes wiring your R/C Receiver to your autopilot much easier! Other variations of PPM include CPPM, and PPMsum which are slight variations introduced by specific manufacturers.

Some autopilots such as the Pixhawk require a PPM (or SBUS) input so if you are using a PWM receiver you wil need to use a PPM encoder which converts several PWM signals into a single PPM output.

PCM - Pulse Code Modulation

PCM uses the same idea as PPM, but it is a digital signal which improves its robustness to interference and errors as special functions such as parity bits can be included with the signal to ensure it is correct.

Despite this, PCM has not yet taken off as PPM receivers are still much more popular, probably due to the greater availability and lower cost.

SBUS - Serial Bus (S.BUS)

SBUS, as the name suggests is a serial communication protocol. This was introduced by Futaba, but is commonly used by many FrSky products too. In addition to being a digital signal, the main advantage of Sbus is that it can support up to 18 channels using just one signal cable!

an example for a FrSky X8R receiver that has the ability to output SBUS signals

IBUS (flysky)
Similar to, SBUS, IBUS is a new digital serial protocol developed by flysky and will be used on many of their new products going forward (such as the FlySky FS-i6X). It is a two way protocol which means that it can send and receive data, so your radio can send data to your aircraft receiver, and the receiver can send data back to your transmitter such as battery voltage.

DSM2 and DSMX - Digital System Multiplexer

DSM was created by Spektrum, with the main feature of DMS2 is that is is very robust against noise and interference. This is also a digital protocol. However when it comes to connecting with your flight controller you need to ensure it support DSM. However most modern flight controllers such as the Flip32+ support Spektrum.

DSMX is the new and improved version of DSM2 which improved the reliability.

Spektrum satellite - this just means that the spektrum receiver has an extra antenna to allow it to get diversity reception which improves the signal.

Which type of receiver should you use?

Now that you know the basics of the various types of receivers. When it comes to choosing one I would personally suggest FRsky equipment for drone use. Frsky R/C gear provides the same performance as some of the expensive brands like Futaba/Spektrum, but at a fraction of the cost.

I also enjoy using Frsky product such as the Taranis X9D+ as it includes open source firmware that is fully configurable and you can even use it to display telemetry information from your ardupilot. Most of the Frsky receivers also have the ability to output PWM, PPM or SBUS protocols depending on your needs.

SBUS or PPM, which is better?
Naze 32 Revision 6 Flight Controller Guide
OpenPilot Revolution Flight Controller Guide
NAZA M V2 with FlySky FS-TH9X
Beginners guide to drone autopilots (flight controllers) and how they work
What tx for ArduPilot Mega v2.6?
First look at the PX4 Mini Autopilot
CC3d Revo & IBUS
Turnigy 9X Connecting PPM to CC3D
Frustrated newbie help.......again! (Nighthawk pro 200 setup)

A post was split to a new topic: Getting data and fpv video from a rover