An RC transmitter converts your physical stick movements into a radio signal, and the receiver on your model decodes that signal back into commands that move servos, adjust throttle, or control a flight controller. The entire process, from wiggling a stick to a servo responding, takes as little as 4 milliseconds on modern systems. Here’s what happens at each step along the way.
How Stick Movements Become Electrical Signals
Inside every RC transmitter, each control stick sits on two axes, and each axis has a sensor that measures its position. Traditional transmitters use potentiometers, which are small variable resistors. As you push a stick forward, a wiper slides along a resistive strip, changing the voltage output. The transmitter’s processor reads that voltage and maps it to a number representing the stick’s position.
Higher-end transmitters have shifted to Hall effect sensors, which use a small magnet attached to the stick and a chip that detects changes in the magnetic field. Because nothing physically touches or wears down, Hall sensors last longer and stay more precise over time. Either way, the result is the same: a stream of numerical values, one per channel, representing exactly where each stick, switch, knob, or slider sits at any given moment.
Encoding the Signal
Once the transmitter knows each channel’s position, it needs to encode that information for transmission. The oldest and simplest method is PWM (Pulse Width Modulation). Each channel gets its own wire, and the signal is a repeating pulse whose length represents the stick position. A pulse of 1000 microseconds means “full minimum,” 2000 microseconds means “full maximum,” and 1500 microseconds sits dead center. This is straightforward but requires one wire per channel on the receiver end, which gets bulky fast.
PPM (Pulse Position Modulation) solved that problem by stacking multiple PWM-style pulses one after another on a single wire. The receiver reads them in sequence and separates them back into individual channel values. PPM was the standard for years, but it’s slow and somewhat error-prone because a glitch in any one pulse can throw off the timing for every channel that follows.
Modern systems use serial protocols. SBUS, developed by Futaba and widely adopted by FrSky, carries up to 16 channels over a single signal wire by sending digital data packets rather than timed pulses. Other serial protocols like IBUS and CRSF work similarly, with differences in speed and features. CRSF, used by systems like ExpressLRS and TBS Crossfire, is designed for very low latency and can also carry telemetry data in the same stream. These serial protocols are far more reliable than PPM because each data packet contains structured, error-checkable information rather than relying on precise pulse timing.
How the Radio Signal Travels
The encoded data gets handed off to an RF (radio frequency) chip that modulates it onto a carrier wave and broadcasts it. Most modern RC systems operate on the 2.4 GHz band, the same slice of spectrum used by Wi-Fi and Bluetooth. Some long-range systems use 868 MHz or 915 MHz instead (commonly grouped as “900 MHz”), which penetrates obstacles better and travels farther at the cost of lower data rates.
The critical challenge at 2.4 GHz is interference. Dozens of other devices may be using nearby frequencies at your flying field. RC systems handle this with spread spectrum technology, and there are two main approaches.
Frequency Hopping Spread Spectrum (FHSS) divides the available band into many distinct channels and rapidly jumps between them in a pattern that looks random. Both the transmitter and receiver share the same starting point and the same hopping algorithm, so they jump in lockstep. If one channel happens to be jammed by interference, only that single hop is affected. In a system with 79 channels, one bad channel means roughly one bit in 79 gets disrupted, a negligible error rate. Multiple FHSS systems can operate side by side because the odds of two transmitters landing on the same channel at the same instant are very low.
Direct Sequence Spread Spectrum (DSSS) takes a different approach. Instead of hopping between narrow channels, it spreads each bit of data across a much wider bandwidth by replacing each bit with a longer coded sequence. This built-in redundancy makes the signal highly resistant to impulse interference, and the receiver can reconstruct the original data even if parts of the spread signal are corrupted. DSSS trades bandwidth efficiency for robustness and speed.
2.4 GHz vs. 900 MHz
Your choice of frequency band shapes the entire experience. A standard 2.4 GHz ExpressLRS setup running at a 1000 Hz packet rate delivers latency as low as 4 milliseconds, which is fast enough for competitive drone racing where every millisecond of response time matters. Range is impressive too: 10 km flights on a single-antenna 2.4 GHz ELRS system using just 250 milliwatts of output power are achievable.
The 900 MHz band trades some of that speed for penetration and range. Lower frequencies bend around obstacles and pass through trees and buildings more effectively, making 900 MHz the preferred choice for long-range fixed-wing flights or missions where the model may dip behind terrain. Current 900 MHz modules support packet rates up to 250 Hz, which is more than adequate for most flying but noticeably slower than the 1000 Hz ceiling on 2.4 GHz. Many pilots now use dual-band systems that can switch between 2.4 GHz and 900 MHz depending on conditions.
Binding: Locking Transmitter to Receiver
Before a transmitter and receiver can communicate, they need to be paired through a process called binding. This ensures your receiver responds only to your transmitter and ignores every other signal at the field.
The process is simple. You put the receiver into binding mode, usually by holding a small button while powering it on. Then you activate binding mode on the transmitter, typically through a menu option or a physical button. The two devices exchange identification codes, and once the receiver stores the transmitter’s unique ID, the LEDs on both stop blinking to confirm success. From that point forward, the receiver will only accept packets tagged with that specific ID. You generally only need to bind once per transmitter-receiver pair unless you reset either device.
One important caveat: transmitters and receivers must use the same protocol. You can’t bind a FrSky receiver to a Futaba transmitter. Even within the same brand, different protocol generations may be incompatible, so matching hardware matters.
What Happens Inside the Receiver
The receiver contains two key components: an RF chip that picks up and demodulates the radio signal, and a microcontroller that processes the decoded data. In a typical open-source design, an NRF24L01 RF chip handles the radio side while an STM32 microcontroller does the processing.
The RF chip strips away the carrier wave and hands the raw data packet to the microcontroller. That packet is structured, containing a header followed by the channel values (each stored as a 16-bit number representing the stick position). The microcontroller reads each channel value from the packet and converts it back into the appropriate output format. If your servos expect PWM, the microcontroller generates individual PWM pulses on separate output pins. If you’re feeding a flight controller, it can output PPM on a single pin or send serial data via SBUS or CRSF.
This conversion happens continuously, dozens to hundreds of times per second depending on the packet rate. At 1000 Hz, the receiver is updating its outputs every single millisecond.
Antennas and Signal Quality
The antenna on your receiver is not just a piece of wire. Its design, orientation, and polarization all affect how reliably the signal arrives. RC antennas come in two polarization types: linear and circular.
Linear antennas are simple, lightweight, and work well when the transmitter and receiver antennas are roughly aligned. They’re popular on racing drones where aerodynamics matter and the model stays relatively close. The downside is that if the model rolls or pitches so the receiver antenna points directly at or away from the transmitter, signal strength drops sharply. Reflected signals bouncing off the ground or nearby structures can also cause interference.
Circularly polarized antennas (like the cloverleaf design) radiate signal in a corkscrew pattern, which eliminates the orientation problem. They also naturally reject reflected signals, because a radio wave reverses its polarization direction when it bounces off a surface. A right-hand circularly polarized antenna will reject left-hand polarized reflections. The tradeoff is that circularly polarized antennas are physically larger and slightly less efficient at pure range in ideal conditions. In practice, a cloverleaf antenna paired with a directional crosshair antenna on the ground can reach 10 km on just 50 milliwatts of power.
Telemetry: Data Coming Back
Modern RC links are not one-way. Between the transmitter’s outgoing packets, the receiver sends data back on the same frequency, a feature called telemetry. This reverse channel carries information you want to monitor during flight: battery voltage, signal strength (RSSI), link quality percentage, GPS coordinates, altitude, current draw, and more, depending on what sensors are connected.
The telemetry data appears on your transmitter’s screen or is announced through voice alerts. Knowing your battery voltage in real time prevents you from flying until the pack is dangerously depleted. Link quality percentage tells you how many packets are arriving intact, giving you advance warning before the signal gets weak enough to cause problems. In protocols like CRSF, telemetry shares the same data stream as the control link, so there’s no additional hardware or wiring involved on the receiver side.
What Happens When the Signal Drops
Every RC system includes failsafe behavior, a set of predetermined actions the receiver takes if it stops hearing from the transmitter. The receiver monitors incoming packets continuously, and when too many consecutive packets are missing or corrupted, it triggers its failsafe response.
You typically configure failsafe behavior yourself. The most common options are: hold the last received position on all channels, drop all channels to a preset value (like cutting the throttle to zero), or send a “no signal” flag to the flight controller so it can execute its own emergency procedure, such as an automatic landing or return-to-home. For aircraft, setting throttle to zero or triggering a controlled descent is standard practice. For cars and boats, holding the last steering position could send the model in circles, so dropping to neutral is usually safer. How you configure failsafe depends on what you’re controlling, but the point is that the receiver never just freezes and hopes for the best.