- Published on
Parsing signals from an RC receiver
- Authors

- Name
- lalugue
I wanted to see for myself the signals emitted by an RC (remote control) receiver while controlled by an RC transmitter, so I used an Arduino to read them!
Remote control signals - A quick run-through
RC receivers generally emit square pulses in 20ms (50Hz) intervals (also known as periods). These pulses, also called PWM (Pulse Width Modulation) signals, vary in width. Wider signals mean that the pulses last longer in terms of time. Additionally, the ratio of a pulse width to its interval is called a duty cycle.
Components such as servo motors and electronic speed controllers read and interpret these signals for control.
Sparkfun and Oscar Liang's articles give more information and a good grasp on PWM:
Sparkfun - Pulse Width Modulation
Oscar Liang - PWM and PPM Difference and Conversion
Setup
The setup is mainly an RC receiver and an Arduino Uno connected together. The RC receiver's channel signal pins are connected to the Arduino Uno's external interrupt pins (D2 and D3). The Uno's 5V and GND pins are connected to the RC receiver to power it.
In this case, I used a DumboRC P6FG receiver with an X6 transmitter, though other brands of remote control receiver and transmitter pairs should work as well.

One more note on powering up the RC receiver is that only one channel's power pins need to connected to power and ground.
Parts
- DumboRC P6FG receiver
- DumboRC X6 transmitter
- Arduino Uno
- Dupont jumper wires
Sketch
The main idea of the sketch is to measure the duration of pulses in Channels 1 and 2. The sketch leverages interrupts to more precisely measure pulse widths. When moving the throttle and steering of the transmitter, the pulse widths change, which in turn are displayed by the Arduino through the serial monitor 🖥
The repository of the base sketch is here: repository
The next build[s]?
By reading and leveraging what an RC receiver emits, the possibilities with remote control are endless! For what I'll make with these findings, stay tuned to my blog 🥂