Article

ExpressLRS dynamic power: Max Power, how SNR and LQ raise the TX, and what telemetry must be on

Fixed high TX power sounds safe until the module overheats, the radio battery dies early and you are still blasting 500 mW while the quad sits five metres away. ExpressLRS Dynamic Power starts at the module minimum, then uses receiver telemetry to step power up and down. Close in, it runs cool and quiet. Behind a building or far out, it climbs toward the Max Power you set. The feature is useful, but only if telemetry is actually flowing and you understand when ExpressLRS jumps straight to max.

What Dynamic Power is (and is not)

The official ExpressLRS docs describe it clearly: the TX may lower its output below the configured Max Power using signal information from the RX, and raise it again when the signal is weak, LQ is low, or LQ drops suddenly. It never exceeds Max Power. With Dynamic set to Off, the module always transmits at Max Power.

Oscar Liang's ExpressLRS setup guide matches that: Dynamic Power adjusts output from signal strength, uses SNR rather than raw RSSI for the usual LoRa modes (SNR accounts for noise and is not inflated by an LNA), saves radio battery when the RX is close, and treats Max Power as the ceiling.

Dynamic Power is not a substitute for a sensible packet rate. If you need more link margin, drop packet rate before you stack more milliwatts. Oscar Liang's freestyle baseline is still 100-250 mW with Dynamic on for typical park and field distances; for longer flights he recommends dropping to 150 Hz or 50 Hz before chasing higher power.

How to turn it on

In the ExpressLRS Lua script, open TX Power. Three settings matter:

Setting What it does
Max Power Hard ceiling. Dynamic Power will never go above this.
Dynamic Off = always Max Power. Dyn = Dynamic Power on. AUX9-AUX12 = Dynamic only while that AUX is high; otherwise fixed at Max Power.
Fan Thresh If the module has a fan, it turns on from this power level after a short delay. Oscar Liang recommends 250 mW when you fly above that level.

Arm on AUX1 high (~2000 µs) unless you have remapped arming in EdgeTX for ExpressLRS 4. Dynamic Power treats "armed" specially when telemetry vanishes (see below).

On module power-up with Dynamic enabled, transmit power starts at the minimum the hardware supports, then climbs only as telemetry says it should.

Telemetry is mandatory

Dynamic Power needs telemetry. In Lua, Telem Ratio must be anything except Off or Race. The docs say any non-off ratio works, but the algorithm is tuned for at least about two Link Statistics packets per second. The Std (Standard) telemetry option provides that. If you set a manual ratio, ExpressLRS publishes minimum recommendations by packet rate, for example:

Packet rate Minimum recommended telemetry ratio
1000 Hz / 500 Hz 1:128
250 Hz / 200 Hz 1:64
150 Hz / 100 Hz 1:32
50 Hz 1:16

For freestyle, Std is the easy choice and matches the packet-rate article already on this site.

If telemetry is weak while the control link is still fine, you will hear Telemetry Lost on the radio and Dynamic Power may sit at Max Power because it is not getting clean feedback. Oscar Liang notes that receivers typically transmit telemetry at far lower power than the TX (often around 25 mW, sometimes up to 100 mW on newer RX), so telemetry dies first on long flights. The control link can still be solid. For Dynamic Power that situation means the TX may run hotter and draw more than it needs to.

How power is lowered

For normal LoRa modes (not FLRC), Dynamic Power uses average SNR from the receiver. If SNR sits above a rate-specific threshold and LQ is at least 95%, power drops one step. Examples from the docs: at 250 Hz LoRa, lower power when SNR is >= 9.5; at 150 Hz, when SNR is >= 8.5.

FLRC modes (rates starting with F or D) use averaged RSSI dBm instead. Power drops one step when RSSI is >= -83 dBm, again only if LQ is high enough.

How power is raised

The slow path mirrors the lower path with tighter thresholds (for example 250 Hz raises when SNR <= 3.0; 150 Hz when SNR <= 0.0; FLRC when RSSI <= -89 dBm). Missed telemetry also bumps power: after two telemetry packets in a row are missed, each further miss raises power one level until telemetry returns.

Three conditions jump immediately to Max Power:

  1. LQ falls below 50%.
  2. LQ drops sharply in one telemetry update versus the moving average (docs example: 100% average, then a packet with 80% LQ). That is meant for flying behind a structure where things usually get worse next.
  3. Telemetry is lost entirely while the arm switch is high. Disconnected + armed => Max Power.

If LQ is below 85% and none of those hard boosts already fired, power still climbs one level.

While disarmed, lost telemetry does not slam Max Power. Power stays where it is until telemetry returns. That stops every radio on the bench from screaming max when you unplug a pack.

What Max Power to pick

Legal limits and hardware matter. EU LBT firmware caps at 100 mW. Many modules top out at 250 mW; others reach 500 mW, 1 W or 2 W. Oscar Liang points out that 2.4 GHz at 100 mW has been shown to reach tens of kilometres in ideal tests, so you rarely need the module's absolute maximum for freestyle. Higher power shortens radio battery life and needs cooling. His practical freestyle band is 100-250 mW Max Power with Dynamic on; use higher Max Power when you want more penetration or longer range, and prefer a lower packet rate for serious long-range work.

Set Fan Thresh to 250 mW (or the level where your module datasheet wants the fan) so cooling starts before a long stretch at high power.

See the power on OSD or hear it on the radio

To show current TX power in the FPV OSD, enable the TX Uplink Power OSD element and set Switch Mode to Wide in the ELRS Lua. Hybrid switch mode does not send power for OSD. You also need a recent Betaflight (4.3+) or iNav (2.6+).

On EdgeTX / OpenTX you can announce power changes: a logical switch on |Δ|>x for TPWR (1 mW), then a Special Function that Plays Value TPWR when that switch fires. Note: OpenTX lacks a proper 50 mW CRSF value and may read 0 mW; EdgeTX 2.5.0 and newer read 50 mW correctly.

A sane first setup

For a typical 5-inch freestyle quad on 2.4 GHz:

  1. Packet rate 250 Hz (or whatever you already fly from the packet-rate guide).
  2. Telem Ratio Std.
  3. Switch Mode Wide if you want TX power on the OSD.
  4. Max Power 100 mW or 250 mW (respect local law and module limits).
  5. Dynamic Dyn.
  6. Fan Thresh 250 mW if the module has a fan and Max Power can reach that.

Fly one pack near home and watch TPWR (or listen to the readout). You should see low power on the bench and in close freestyle, with brief climbs when you put carbon or a building between you and the quad. If power sits at Max the whole flight while LQ is 99%, check telemetry ratio, RX antenna orientation and whether Telemetry Lost is firing.

Dynamic Power is one of the few RF features that rewards you for doing less: leave Max Power at a sensible ceiling, keep Std telemetry on, and let the link ask for milliwatts only when it needs them.