RC TX RX Protocols Explained: PWM, PPM, SBus, DSM2, DSMX, SUMD

When it comes to radio receiver (RX) and transmitter (TX) protocols, acronyms are often used: PWM, PPM, SBUS, DSMX etc. In this post we will explain the differences of these RC TX and RX signal types.

What are TX protocols and RX protocols

These radio protocols can be confusing to beginners. We will try to explain the basics and differences of these radio communication protocols. We will also have a look at some of the technology, and see how it makes flying more reliable and safer.

These radio communication protocols used in drones, RC planes/wings quadcopters and other radio controlled multirotors can be divided into two groups:

  • RX Protocols (communication between RX and FC), and
  • TX Protocols (communication between TX and RX)

Some of the RX protocols are universal across different brands of RF equipment, but some can be exclusive to certain brands. Some of them include the following:

  • PWM (universal)
  • PPM (universal)
  • PCM (universal)
  • SBUS (Futaba, Frsky)
  • IBUS (Flysky)
  • XBUS (JR)
  • MSP (Multiwii)
  • SUMD (Graupner)
  • SUMH (Graupner)
  • CRSF – Crossfire (TBS)
  • FPort (Frsky)

While TX protocols are mostly different between brands. Some brands might offer multiple different protocols depends on the pairing radio receiver. Some of them include:

  • D8 (Frsky)
  • D16 (Frsky)
  • LR12 (Frsky)
  • DSM (Spektrum)
  • DSM2 (Spektrum)
  • DSMX (Spektrum)
  • AFHDS (Flysky)
  • AFHDS 2A (Flysky)
  • A-FHSS (Hitec)
  • FASST (Futaba)
  • Hi-Sky (Deviation)

PWM – Pulse Width Modulation

This is the most common and basic radio control protocol. In the old days when there were only RC fixed wings planes, the receivers were used to control the servos or ESC directly with standard PWM signal, one channel for each servo. Until today the same technology is still being used in many models.

Multirotors require at least 4 to 5 channels (sometimes even more) and you will see the same numbers of servo leads connected between the receiver and flight controller.

pwm-receiver-flight controller-connection

PWM stands for pulse width modulation. It’s an analog signal where the length of the pulse specifies the servo output or throttle position. The length of the signal pulse normally varies between 1000µs and 2000µs (micro seconds), with 1000µs being the minimum & 2000µs the maximum.

PWM radio receiver is the most common and usually the cheapest option. However due to the messy wiring, hobbyists now prefer PPM or SBUS over PWM.

PPM – Pulse Position Modulation

PPM is also known as CPPM or PPMSUM. The advantage of PPM is that only one signal wire is needed for several channels (typically 8 channels max), instead of a number of individual wires. So you should only connect the ground, power and signal cable.

ppm-receiver-flight controller-connection-one-wire

A PPM signal where basically a series of PWM signals sent one after another on the same wire, but the signal is modulated differently.

PPM is what they call “analog signal in time domain” (although it can be a bit controversial at times), channels are sent one after another and not at the same time. Therefore it’s not as accurate or jitter free as serial communications, but it’s more widely available and supported by many Flight controllers.

Check out this post for a more detail difference between PWM and PPM.

PCM – Pulse Code Modulation

PCM stands for pulse code modulation, it’s a data types similar to PPM. However PCM signal is digital signal (using ones and zeros) while PPM signal is analogue, which is the length of time the signal is on. PCM has the potential of signal error detection even error correction, but this still depends on the product you buy.

PCM is more reliable and less susceptible to interference, but additional conversion is required so the equipment tends to be more expensive.

Serial Protocols

Serial Receiver is a digital loss-less protocol that uses only 3 wires (signal, power, ground) for multiple channels. As the name suggests this type of receiver requires serial port on the flight controller. This includes SBUS, XBUS, MSP, IBUS, and SUMD.

SBUS (S.BUS, Serial BUS) – By Frsky, Futaba

SBUS is a type of serial communication protocols, used by Futaba and FrSky. It supports up to 18 channels using only one signal cable.

SBUS is an inverted UART communication signal. Many flight controllers can read UART input, but cannot accept inverted one (such as the Naze32 Rev5) and an inverted is required. However F3 FC’s and some FC such as Pixhawks has built-in dedicated signal inverter for this purpose.

CRSF (Crossfire)

CRSF is a new protocol developed by TBS. It’s similar to SBUS or other digital RX to FC protocols. The main advantages include faster update rates and two-way communication capabilities, allowing things like Telemetry to be injected into the communication stream with no additional ports required. This allows FC-tuning through your radio as well as hassle-free telemetry to your remote control via the Crossfire radio link.

IBUS – By Flysky

IBUS is the new flysky serial protocol. It’s a two way communication which means it can send and receive data: one port for servo data output and one port for sensors.


XBUS is used by JR, which supports up to 14 channels in one signal wire. One of the advantages is the tiny time delay between each channel.

MSP (multiwii serial protocol)

Protocol that was created as part of the multiwii software. Basically it allows you to use MSP commands as the RC input and it supports 8 channels in one signal cable.

Graupner Hott SUMD

The Graupner SUMD is a serial protocol like Speksat and SBUS. The channels are encoded into one digital signal and have no noticeable latency. Advantages of SUMD are:

  • Compared to SBUS, SUMD doesn’t require signal inverter
  • Compared to PPM, SUMD has better resolution and no jitter while PPM has only 250 steps and always 4ms jitter

Graupner SumH

SUMH is a legacy Graupner protocol. Graupner have issued a firmware updates for many recivers that lets them use SUMD instead.


FPort is a new RX protocol developed by Frsky and Betaflight developers. It combines both the control signal and telemetry data into 1 single wire which makes it more compact and easier to manage.

It’s not inverted like SBUS and Smart Port so it should be compatible with F4 without hardware inverters.

F-Port is still at its very early stage. We will surely release more info about FPort, and how to set it up on our quad in the future as we hear more.

What Receiver Protocol and  Should I use?

First of all, it depends on your radio transmitter. Personally I would prefer PPM or SBUS for multicopter in general because of the simple wiring. However for drone racing and freestyle I would choose SBUS due to it’s minimal lag.

Spektrum’s TX protocols: DSM2 and DSMX

“Spektrum” is often mentioned in radio related topics, which is basically a RC brand specialized in radio. So far, what we have been discussing above have been RX to FC protocols, but DSM2/DSMX are protocols between TX and RX (radio protocol) used by Spektrum equipment.

The RX to FC protocols (SBUS counterparts) for Spektrum DSM2 is called SPEKTRUM1024, for DSMX it’s called SPEKTRUM2048.

Spektrum DSM2 and DSMX

DSM2 signal is more resistant to noise, interference and other transmitters transmitting on the same frequency. It also finds a backup frequency at start-up in case the primary frequency fails. This lower the chance of losing signal greatly, however if both channels becomes unusable you may still lose the connection.

DSMX was based on and improved from DSM2, which also uses the same econding scheme. The difference is the DSMX signal is able to switch to a new frequency channel in case of cut out within a couple of milliseconds, so in theory you wouldn’t even notice the glitch.

DSM2 is still a popular technology, if you are away from sources of radio interference (such as WiFi, microwaves, and wireless security cameras), it should work just as well as DSMX. But DSMX is just more reliable.

Spektrum Satellite

A Spektrum Satellite is an additional antenna and receiver circuit that usually gets connected to the “main” receiver to improve link reliability by providing diversity reception.

Frsky’s TX Protocols

Depends on which Frsky RF modules and receivers, different TX protocol is required.

  • D16: for X-series receivers, e.g. X4R-SB, XSR, X8R
  • D8: for D- and V-series receivers, e.g. D4R-II, D8R-II+, V8FR-II, VD5M, etc
  • LR12: for the long range receiver L9R

TX and RX Protocol Latency

We do not have the proper equipment to test TX and RX protocol latency yet, but fortunately our friend Dronemesh on Youtube have been doing this type of testing for many different kind of TX and RX.

This is the testing result captured from one of his testing video:

  • Flysky i6X – 13.7ms
  • Turnigy Evolution – 14.6ms
  • Crossfire (on X10) – 19.5ms
  • Frsky Horus X10 – 31.5ms
  • Frsky QX7 – 36.3ms
  • Spektrum DX6i – 41.5ms

Of course, the lower latency is better, but I don’t think that’s all the reason in choosing a radio. You should also consider the reliability of the connection, the features of the radio and so on. But really, can 15ms extra latency affect someone’s flying? Maybe, maybe not.

Take a look at Dronemesh’s testing video here fore more detail.

Edit History

  • March 2015 – Article created for RX protocols
  • Nov 2016 – Article revised, Spektrum radio protocol was recently hacked which raised concern
  • July 2017 – expanded list of TX protocols

51 thoughts on “RC TX RX Protocols Explained: PWM, PPM, SBus, DSM2, DSMX, SUMD

  1. Varun

    Hi oscar,

    Thank you for the info. I just wanter to know if frsky receiver would work with flysky transmitter? I am asking this because in racercube aio, there is frsky receiver. Now since frsky transmitters are costly, i want to use flysky transmitter. So is there any setup to connect frsky receiver to flight controller of racercube.

    pardon me for any mistakes, i am completely new to this!

    1. Bharath Nagarajan

      Thank you for the comprehensive article Oscar. Really helps N00bs such as myself.
      Just one question: are the Tx and Rx protocols specific to each other? I have a Fr-sky x4R sb on y aircraft. So which Tx protocol would communicate with it, out of the 3 fr-sky protocols you’ve mentioned.

      Thanks in advance,
      Bharath Nagarajan

    2. Ali

      If you get the IRANGE IRX4 it should work…

  2. RAHUL

    Hello Oscar, I need more information about FHSS, TFHSS, SFHSS, FASST AND FASTEST. Actually I am looking to have transmitter from futaba for atleast 5-10 years. Prsently I’m on futaba 35mhz. Don’t want the high end because of the funds. Need some help.

  3. Allen Ampueda

    Hi there Oscar, I have a question for you. What are the chances a Graupner GR-12SH SUMD receiver will work with an F4 flight controller using the DSMX port?

  4. Kumar

    It’s very informative. BTW Will FrSky X4R receiver support normal flight controller boards like KK 2.1?

    Thank you

    1. Oscar Post author

      X4R? Yes, X4R-SB? no it doesn’t.
      KK2 doesn’t support PPM or SBUS, only PWM. So you could connect the 4 PWM channels from X4R to KK2.
      X4R-SB only output 3 PWM channels plus 1 SBUS, so it’s not enough to control a quadcopter.

  5. Marty Baecker

    Oscar,,,,,I very much appreciate all of your write ups and the knowledge and research that you share time and again.

    Let me explain my current context and then I will get to the question part. I am a Spektrum radio user. Recently upgraded from the DX6i to the latest version of the DX8. I am a scratch builder with 20+ under my belt,,,,fixed wing, a quad and a tricopter (both using KK2 FC’s). On all units I am using Orange receivers. That is my history in short. I am now about to make the jump to ordering and building a 6″ Alien quad getting most of the parts from Rotor Riot. In pre-study,,,,I feel that I grasp just about all with the exception of the twist that me being a Spektrum user throws into the build. And also coming from no telemetry background adds another stress-or.

    All of the build videos are built (pardon the pun) around using the Frsky system. I have found nothing with a Spektrum addendum.

    With all said,,,,I have also come to vaguely understand that there are various types of telemetry i.e. (1) those that send the information back to the transmitter {to which I assume one can program for audio alerts while you are FPV’ing?} and (2) those that utilize an OSD {is this a separate add-on board to the KISS FC ? } that overlays the telemetry data in your FPV feed to be seen as you fly with your goggles/headset.

    I think you can begin to see my last bit of consternation. I need to get this down before I head into the buy/build process. I look forward to your thoughts and/or directions

    1. Oscar Post author

      Telemetry generally refers to the flight info sent from the RX to TX. I don’t know much about Spektrum stuff, but Frsky supports Telemetry.
      The info displayed on OSD would require an external OSD board to work if you are using the KISS FC, it’s called the minimOSD. There are also other FC that has OSD integrated, such as Kakute F4 and Betaflight F3.

  6. Alberto

    Hello Oscar.

    Firstly, thanks for your posts.
    I would like to know if any SBUS receiver would works in any compatible SBUS transmitter.
    As an example, I am wondering if SBUS receiver could be linked to my Radioling AT9S.

    Thanks in advance.

    1. Oscar Post author

      SBUS is a receiver to FC protocol, it has nothing to do with the TX.
      It depends on which SBUS receiver you are talking about.

  7. Wim

    Dear Oscar,

    I just want to double check. Is Futaba Sbus compatible with FrSky Sbus?
    I mean can I use Futaba sensors on a FrSky receiver? And vise versa?

    With kind regards,

  8. james

    will my flysky th9x work with AR8010T 2.4GHz 8-Channel Air Integrated Telemetry Receiver by Spektrum that is DSMX/DSM2 transmitter capable

  9. Alex Zarenin

    Hi Oscar,
    In my recent projects i have been using DSM2 satellite receiver without the “main” receiver. Satllite receiver outputs nice digital codes for each channel using standard UART protocol. I tested several satellite receivers – the only difference I found was the “framing” code – the special code that they put at the start and end of the channel packet. Some details of the protocol are available in my DIYDrones post diydrones.com/profiles/blogs/orange-rx-satellite-receiver-and-lemon-rx-uart-enabled-receiver.

  10. sameer

    can we use the quadcopptr by bluetooth module……how we connect the bluetooth module +arduiono+kk 2.1.5 board together ,so that i control the quadcopptr …..plzhelp

  11. Christof

    Thank you for this. Excellent overview. Finally I found a good explantion that answered my questions.

  12. Richard Schmidt

    HI Oscar9 cap radio with a spektrum DMSX DM* transmitter module installed. In the aircraft I have a Spectrum AR 600 receiver. I cannot get the Fail Safe to operate properly. Everything else works. Once everything is bound, I turn off the transmitter and the motor in the aircraft goes to high throttle instead of low throttle?
    I called Horizon and they told me that this arrangement won’t work… I have flown this many times before…

  13. jorge herrera

    Hello Sir ; Is the Graupner MC- 32 Pro transmitter compatible with Spectrum Airmod moduls , in order to use MC-32 radio with Spectrum DSM2 transmition protocol . I know they are with weatronic and IFS protocols . Best regards . Jorge Herrera.

  14. James

    Hi, I think your explanation is slightly misleading. You are using a non-standard definition of the term “serial”. In serial communication, in contrast with parallel communication, multiple signals are multiplexed (or encoded) into a single stream. In this sense, both PPM and PCM are serial, while PWM is parallel. The difference is that PPM is analog serial and PCM is digital serial. As such, serial is not necessarily lossless (by which I think you mean “with error checking”). Error checking is the responsibility of the individual protocol, i.e. SBUS, XBUS, etc.

    1. Oscar Post author

      thanks for the feedback James.
      This was written a few years back, my writing was terrible. I will update this as soon as i can.

    2. Randall M.


      I am an electrical engineer with college degree. There is nothing wrong with his explanation of serial and to say its “non-standard” makes no sense as there is no standard.

      Oscar wrote: “Serial Receiver is a digital loss-less protocol that uses only 3 wires (signal, power, ground) for multiple channels. As the name suggests this type of receiver requires serial port on the flight controller. ”

      A serial bus with only on wire to carry the serial data stream is called half duplex. Full duplex is the bus type that used to be provided on computers (remember the DB9 connector with a Tx and Rx pin). Serial simply means the data arrives in a stream. Parallel means the data bits are broken into parts and sent simultaneously.

      The other day I looked at the pinout for the Pixhawk on the arducopter website and I seem to recall that the uart bus had Txd and RxD pins or full duplex.

  15. Mark Duren

    Hi Oscar,
    I have an old (1995?) Futaba 9cap TX that will transmit in either PCM or PPM select ably from the menu. There were PCM systems going back to the mid 80s (Futaba J series -just fyi) They didn’t catch on for one reason that the RXs were much more expensive and the PCM system had a non-selectable fail safe that would cause considerable delay, similar to the Specktrum reboots on their early systems.
    As is apparent , I have been around RC for a while but the new protocols are a bit confusing. Thanks for lifting most of that. The one area that is still confusing to me is where the protocols are used and when they can be used. The old Futaba CAP9 mentioned earlier has a FrSky telemetry module installed (DFT) that allows me to convert the PPM signal from the TX to ACCST. That connects to the RX (D8R-2+). What are the protocol output choice from the RX?

    Thanks for taking the time to help us understand.

  16. Danny

    Hi Oscar,
    This is the first time I’ve built the Quadcopter and I want to control my quad via the PC. I searched in Google alot but I can’t find the good way to control. I’ve download the multiwii joystick firmware and used the gamepad to control via RF UART SI4463 (I use one module RF which is connected with PC via USB-TTL CP2102 to make the transimmter, the other one is connected with UART bus in Crius board). In GUI MultiWii, the sensors data was sent to PC through COM port (2 modules RF is working correctly), but I pressed the button from gamepad to control and I saw nothing happened in my quad – motors is not armed. I don’t know What I missed?. I’ve thought that using other arduino board to active the throtte pin in crius but nothing worked. Could you give me any advice for this case? Thanks a lot…

  17. Huberer

    Hi Oscar,

    this is a great blog.
    Quote: S-Bus needs an Inverter for Naze32
    Do you mean just a Signal converter (high -> low AND low -> high) i.e. a simple Transistor and 2 resistors? or a Inverter gate?

    Thanks for your great answers

  18. Odino

    Hi Oscar: I have a orange 3ch S-bus long antenna and I have a Dx6 Spektrum radio for my quav 250: the rx have a problem after a crash and I would like replace it: I use the S-bus for use one shot on my esc kiss12A and find a alternative rx with S-bus DSM2/DSMX to my DX6 but not Orange rx: you can give me a tip for a rx S-bus of good quality DSM2 / DSMX Spektrum compatible? thanks and greetings: Odino from ‘Italy.

  19. Oscar Jr.

    Hi Oscar,
    thanks for sharing this valuable information. I’ve just missed a word about Tx/Rx based on SLT protocol (Tactic).

  20. Vito

    Hi Oscar,
    I’m not sure if this is where I might post questions, but I’ll try.
    I really have no idea what I’m working with. It’s a Graupner MC-20 with a HoTT GR-24L and a HoTT GR-12L receivers and both a Pixhawk px4 and a Vector FC +OSD.
    My Problem is that I can get the receivers to bind, but there is no signal to the FC boards to calibrate the system.
    My problem could be with the transmitter settings, the FC board setting or something else.
    I have tried to get answers from the FC board, the radio manufacture and the usergroup forums. I still don’t have any answers to get the system working. Maybe you can help.

  21. Martin C

    Hi Oscar,

    I have an Atom CC3D connected to an R9D receiver via an SBUS connection. I would like to use an AR9020 receiver instead so I can use my DX9 radio…. does the AR9020’s srxl port act like an sbus port or will I need to get a PWM harness to connect the two?

  22. michael

    Hi Oscar Im building a blackout mini h quad and I’m using a spektrum dx8 transmitter with Ar8000 spektrum Rx.
    Can I us the ppm setup on the naze acro 32 flight controller or do I have to connnect all those wires the connect the RX to the flight controller?

    1. Oscar Post author

      I am not familiar with Spektrum devices… just a quick google on Ar8000 spektrum Rx, it tells me that you will need a PPM encoder use connect PPM to Naze32…

  23. Jim s

    Hi Oscar,
    I’m putting together my first 250 quad from scratch and have a naze full mullet board and a fly sky th9 x radio and 8 ch reciever the same as you have pictured on the top of this section. I don’t know much about ppm or Pwm as a matter of fact I didn’t know I had an Ibus until reading your blog. I’m using clean flight to configure the board. I could have bought a ready to fly quad and spent less than I have so far but wouldn’t have learned anything. My question to you is will my fly sky radio and reciever work with the naze 32 and how would I wire it to the naze.

    1. Oscar Post author

      yes it will, i think the flysky th9 RX only works on PWM, connector +/- on the Naze to any + and – on the RX, and RC pins on the Naze to the signal pins on the RX, you only connect as many channel as you need up to 8…. choose “parallel PWM” in receiver mode.

  24. David

    Hi Oscar
    I’m new to multicoptors but have been flying rc planes for years. In building my first I’m going to use the naze32 flight controller. in reading the spec. sheet it is compatible with cppm and herein is my question.
    I have lot’s of 72 mhz radio equipment. IF using my JR SA600 72mhz radio which is a “ppm” is the reciever going to give the naze32 the proper input ?

    I don’t even know if I’m wording my question properly… But I hope you can understand it somewhat.

    Thanks for the help. I’m trying not to have to invest in a new 2.4g system.

    1. Oscar Post author

      Hi David
      so is your receiver able to output in CPPM (aka PPM) mode?
      Naze32 can only take CPPM / PWM without any additional converters.

  25. gabriel

    Hi Oscar
    I am new in multicopters.
    Don´t know if it is a stupid question, but i have the flame whell f450 with naza m v2, i am trying to control the naza m v2 with arduino, can i use a pwm signal in entrances x1,x2,x3,x4?

    1. Oscar Post author

      Hi, probably… but why don’t you follow the traditional method of controlling, ie using a radio transmitter and receiver? It would be easier and safer if you are new.

  26. Anthony

    Hi Oscar so I’m new to all this I learned on the Alias and jjrcx6 tarantula but I wanted to build one so I built the rotor ones by flitest actually pretty fun to build also for what they recommend for electronics from rtf quads. My question I got a Graupner mz18 and I’m trying to figure out if this will even work since I see that Graupner used sumd and the electronics are dsm2 and dsmx. Can it be done or do I have to use the Graupner reciver. Basically trying to bind that lemon 6 channel to radio and use rtf quads flight controller any help would be awesome got 4 days to see if I like radio or send it back for a spektrum cause I know that works with rtf quads stuff sorry for long post

  27. Ethan La Moure

    Hi Oscar

    I have four 18a Kiss ESC’s that I want to install and run oneshot with. I have the modded (with Deviation 4.0.1) Devo 10 radio and both the Walkera rx1002 and the rx601 receivers. I’m using PWM currently with an OpenPilot CC3D evo FC with an 8 pin receiver port, flexi port, main port, usb hid port and usb vcp ports. I have the option in OpenPilot to choose PWM, PWMsync or Oneshot125. Can I do this with my current PWM tx/rx and CC3D FC? Do I need a PPM signal to utilize the oneshot programming?. If so can I use a converter of some sort in conjunction with my tx/rx and the CC3D? I also have a an unused Flip32 in the drawer.

    Thanks for your time and for providing a wealth of experience and information for us all.

    Easy – E

    1. Alf Skaar

      Hi Oscar
      Vortex Setup Devo 10 (Deviation) and RX703A PPM and Fail Safe is on CH5

      see for more info


  28. Alesandro

    hy everybody i’d like to try the oneshot on my escs flashed with blhely suite, but on my cc3d board i have a pwm rx so i can’t to enable the oneshot. my answer is: using a ppm encoder can i use my pwm rx on my board in s bus port? . if it’s possible i can use in the wizard panel the ppm reciver option wich enable the oneshot flashed escs. release 15 of open pilot gcs.

  29. Tom

    Good evening Oscar,

    This is my first comment on your blog.
    Quite new to multicopters, I am the happy owner of a DJI F450 with Naza V2 since last September and I recently decided to build a 250 racer. This is what brought me to your blog earlier this week.
    I’ve got to say it is truly a GOLD MINE who ever is interested in this hobby (like me) and I can hardly leave this website. Thank you very much for all this information you share with us. Everything is clearly explained and well documented so it helps a lot to understand how RC and multicopters work. Quite amazingly, RC protocols were still unclear for me and today I had still a lot of questions in my head but no answer. Guess what today’s post is about? Bam!, RC protocols. You’re genius man, you can read my mind.
    OK, I have a few questions here:
    Is it right to say that PCM and PWM are the same thing?
    About Serial protocols, you say that the Naze32 “can read UART input, but cannot accept inverted one” which is required for S Bus. So I guess the Naze32 should not be compatible with S Bus? That is not what you say in your post “Choose flight controller for quadcopter and hexacopter”. Am I missing something?

    Thanks again for sharing your knowledge with us,

    1. Oscar Post author

      Hi Tom
      haha, maybe I can read your mind :D
      Actually PCM is another types of radio signal, which i forgot to mentioned. I have added the info now.
      It’s a “very close friend” of PPM, but it’s digital coded and supposedly more reliable. It’s been around more than a decade now in RC hobby, But I still haven’t seen anyone use it yet around me.
      Yes you can use SBUS with Naze32, but you just need a SBUS-PPM converter, or a SBUS inverter (Hope i am still catching up with the latest technology development on this one ! :D )


Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).