When this applies: Your ExpressLRS (ELRS) receiver won't bind to your transmitter, or the receiver LED doesn't match what you expect after powering on.
The receiver LED tells you exactly what state it's in. Match yours against this table:
| LED pattern | Meaning | What to do |
|---|---|---|
![]() | Solid on — connected to transmitter (or bootloader mode) | This is good — the receiver is bound and connected |
![]() | Double blink, then pause — binding mode active | Receiver is ready to accept a bind — go to Step 3 |
![]() | Slow blink (500ms on/off) — waiting for connection | Normal powered state — needs binding or the TX is off/out of range |
![]() | Triple blink, then pause — model mismatch | Connected to the TX but model-match settings don't agree — see the model mismatch fix in Step 4 |
![]() | Medium blink (100ms on/off) — radio chip not detected | Hardware fault — the receiver's radio chip may be damaged. Contact us |
![]() | Fast blink (25ms on/off) — WiFi mode enabled | Normal — used for firmware updates via the web UI (see Step 2) |
Note: receivers with RGB LEDs use different colours for the same states (e.g. orange double-blink = binding mode). Full RGB table: ExpressLRS Wiki — LED Status.
Source: ExpressLRS Wiki — LED Status (https://www.expresslrs.org/quick-start/led-status/)
This is the single most common cause of binding failures. The major version number (the first digit) must match between your TX module and your receiver. If the major versions don't match, none of the binding methods below will work.
SPI receivers (built into AIO flight controllers): on official Betaflight 4.3.1 and older, SPI receivers only bind with ELRS 2.x; on Betaflight 4.4.0 and newer, only with ELRS 3.x.
How to check your versions:
If the major versions don't match, update whichever device is on the older major version using the ExpressLRS Configurator. Current firmware release: v4.1.0 (July 2026) — check GitHub releases for the latest.
Source: ExpressLRS Wiki — Binding (https://www.expresslrs.org/quick-start/binding/) and Web UI guide (https://www.expresslrs.org/quick-start/webui/)
If firmware is compatible and the receiver LED is slow-blinking (not yet bound), pick a method:
If you're flashing or updating firmware anyway, set a Binding Phrase in the ExpressLRS Configurator before flashing:

Enter the same phrase (at least 8 alphanumeric characters — your pilot handle works well; it's anti-collision, not a password) on both the TX module and receiver, and they will bind automatically on power-up. On devices running ELRS 3.0 or newer you can also set or change the phrase later via the WiFi web UI (see Step 2 for how to connect).

If the LED turns solid, you're bound.
⚠️ Caution: power-cycling is best done with a LiPo flight pack, so make sure your wiring is correct and check for shorts first — you don't want to let out the magic smoke.
Receivers flashed with a Binding Phrase (pre-3.4.0) will not enter traditional bind mode no matter how many times you power-cycle — reflash without the phrase, or use Method A. On ELRS 3.4.0 and newer this restriction is lifted: any receiver can be put into bind mode.
In Betaflight Configurator 10.10 or newer, use the Bind Receiver button in the Receiver tab (the bind_rx CLI command also works).
Hold the button on the receiver for 1.5 seconds, or short the Boot pad to Ground. The LED will double-blink (binding mode) — then press [BIND] in the Lua script.
A bind persists until another binding procedure is started. To cancel bind mode, reboot the receiver — it keeps its previous bind. (A Lua/WebUI "volatile bind" option wipes the bind on every power-cycle if you ever want that behaviour.)
Source: ExpressLRS Wiki — Binding (https://www.expresslrs.org/quick-start/binding/)
Using the ExpressLRS Lua script (SYS key → Tools → ExpressLRS):

Model mismatch (triple-blink LED or "Model Mismatch" line in Lua): with both devices powered and connected, open the Lua script and set Model Match to Off. If you deliberately use model matching, toggle it Off then back to On to assign the current model/receiver ID.
Source: ExpressLRS Wiki — Binding, Connection Check (https://www.expresslrs.org/quick-start/binding/)
If the TX and RX are bound (solid LED, "C" in the Lua script) but the flight controller doesn't respond:
If the LED is solid or off straight after power-up, the receiver may be stuck in bootloader mode. Check, in order:

Source: ExpressLRS Wiki — Binding, "Receiver LED doesn't Blink" (https://www.expresslrs.org/quick-start/binding/)
Contact us with the following and we'll take it from there:
Images: ExpressLRS wiki (expresslrs.org). Article verified against the ExpressLRS wiki and GitHub releases, July 2026.