Article

Betaflight Receiver tab check: channel map, 1000-2000 endpoints, 1500 centre and the arm switch

The receiver is bound, the Lua script shows a connection and the bars in the Receiver tab move. That is the moment many people stop checking. A few minutes spent on the numbers saves a lot of head-scratching later: the wrong stick moving the wrong axis, a quad that drifts in angle mode, a throttle that never reaches the bottom so the quad will not arm.

This article covers what to look at in the Receiver tab after the link works: channel order, endpoints, centre points, the arm channel and the settings in that tab that are easy to get wrong. The examples use ExpressLRS on an EdgeTX radio, but the Betaflight side applies to any serial receiver. Binding and the basic UART setup (Serial RX on the right port, provider CRSF, no inversion, no half-duplex) are in the separate ExpressLRS binding article on this site.

Before you start: props off

Take the props off. The Betaflight Rx guide warns that you can arm the quad by accident while moving sticks in the Receiver tab, and it suggests moving one channel at a time.

Settings in the tab that should stay off

The Receiver tab has a few fields that look important but should stay off with a modern receiver:

  • RSSI (analog input). The Betaflight App docs call it mostly legacy, an analog 0-3.3 V RSSI input. Modern receivers send RSSI over the same serial link as the sticks. The docs say plainly not to enable it with a modern receiver.
  • RSSI Channel. Leave it disabled for CRSF or GHST receivers. The one exception the docs mention is DJI FPV goggles, which have no native LQ field. There you can point RSSI Channel at AUX11, where ExpressLRS puts LQ. The docs call osd_craftname_msgs or WTFOS a better option. The ExpressLRS docs say the same: keep RSSI Channel disabled for analog systems and for MSP DisplayPort or Canvas OSD.
  • Telemetry. This one should be on. Besides sending battery voltage and other data to the radio, the Betaflight docs note that it is also needed for VTX control from ELRS receivers.

Receiver Mode has to match the hardware. An external ExpressLRS receiver on a UART is Serial (via UART) with provider CRSF. A receiver built into an AIO board runs over SPI, and then you choose SPI Rx (e.g. built-in Rx) with provider EXPRESSLRS. The Betaflight docs warn that the wrong protocol means no signal or a signal read incorrectly.

Channel map: does each stick move the right bar

The default channel map in Betaflight is AETR1234: Aileron (roll), Elevator (pitch), Throttle, Rudder (yaw), then AUX channels. The preset for FrSky, Futaba and Hitec uses the same order. Spektrum, Graupner and JR receivers output TAER1234.

The test is simple. Move one stick at a time and watch the preview:

  • Right stick left and right: only Roll should move.
  • Right stick up and down: only Pitch.
  • Left stick up and down: only Throttle.
  • Left stick left and right: only Yaw.

If the wrong bar moves, the Betaflight docs say to change the channel map. Oscar Liang's endpoint guide assumes the default AETR map, so on the radio CH1-CH4 are roll, pitch, throttle and yaw.

Check the direction too: pushing a stick up or right should raise the value. A channel that runs backwards can be reversed in the radio, and Betaflight can also reverse it with rxrange, as shown below.

Endpoints and centre: what the numbers should be

The Betaflight safety page puts it directly: channel values should centre at 1500 (1520 for Futaba) and reach 1000 at minimum and 2000 at maximum. If they do not, you can get problems such as being unable to arm, because the stick cannot reach the endpoint.

ExpressLRS gives a slightly wider range than that out of the box. In the ExpressLRS switch configuration docs the first four channels run from 988 to 2012 in Hybrid and Wide switch modes, which is -100% to +100% in EdgeTX. Oscar Liang's guide to channel endpoints treats this as fine: ideally 1000 at the bottom, but 988-999 is acceptable, and 2001-2012 is acceptable at the top.

To check, push both sticks to the bottom left corner and read the minimums, then top right and read the maximums. With the sticks released, roll, pitch and yaw should read 1500.

The centre is off

Oscar Liang's order of steps is a good one:

  1. Trims. Centre all trims on the radio. Each press beeps, and EdgeTX announces when a trim is centred. On a multirotor you should not need trims at all.
  2. Stick calibration. In EdgeTX it is under Radio Setup, Hardware, Sticks Calibration. Move the sticks only as the screen asks, without circling them.
  3. PPM Center. If the centre is still off, adjust PPM Center for that channel in the radio's Outputs page and watch the Receiver tab until it reads 1500.

If the centre jitters by a couple of points (Oscar gives the example of 1498-1502), that is often gimbal wear. Get it as close to 1500 as you can, then set a matching deadband in the Receiver tab, for example 2 for that jitter. Deadband is the part of the stick movement Betaflight ignores, and there is a separate field for yaw.

The endpoints are off

There are two ways to fix endpoints, and the choice depends on how many quads share the radio model.

In the radio (EdgeTX Outputs). Adjust Min and Max on the first four channels until Betaflight shows 1000 and 2000. If you cannot reach those values without going past 100%, turn on Extended Limits (E. Limit) in Model Setup. This changes the output for every quad that uses that model, so it is the right choice if they all show the same error.

In Betaflight (rxrange). When one quad is off and the others are fine, fix that quad. In the CLI:

rxrange reset
save

After the reboot, read the real minimum and maximum of each of the first four channels in the Receiver tab. Then enter them:

rxrange 0 988 2012
rxrange 1 988 2012
rxrange 2 988 2012
rxrange 3 988 2012
save

The numbers above are only an example for a link that sends 988-2012. Use the values you measured. In rxrange, channels 0-3 are always Roll, Pitch, Yaw and Throttle. After this, check the Receiver tab again: it should read 1000 and 2000. Then adjust the centre with sub-trim in the radio, as the Betaflight Rx guide suggests.

rxrange can also reverse a channel by giving the bounds the other way round, for example rxrange 0 2000 1000.

The Betaflight Rx guide does add one warning: try to get 1000-2000 from the transmitter and receiver first, because you get less precise control with rxrange. Treat it as the tool for one problem quad, not the first thing you reach for.

Do not confuse this with rx_min_usec

The CLI also has rx_min_usec and rx_max_usec (defaults 885 and 2115). They are not endpoints. Betaflight uses them for signal-loss detection: if any of the first four channels goes outside that window, Betaflight treats it as signal loss and failsafe can follow. Leave them alone when fixing stick ranges.

The arm switch belongs on AUX1

With ExpressLRS this is not a matter of taste. The switch configuration docs give the reasons:

  • AUX1 (channel 5) is sent with every packet. In Hybrid and Wide modes the other AUX channels take turns, round-robin, so each one is updated less often.
  • Betaflight needs four disarm commands in a row before it disarms. An arm switch on a round-robin channel delays that.
  • When the link reports armed, ExpressLRS applies safeguards: the receiver buttons are disabled and dynamic power may use full power.

The arm switch should send about 1000 when disarmed and about 2000 when armed. If you want to arm with a three-position switch, the docs suggest remapping it to two positions in the EdgeTX mixer.

ExpressLRS 4.0 added other arming methods. The docs put it this way: if you use "Arm using CH5", put arm on AUX1. If you set it up differently, read the arming section of the docs for your version first.

While you are here, make a note of two more channels. In Hybrid and Wide modes ExpressLRS sends LQ on CH15 and RSSI on CH16 (AUX11 and AUX12). You will see them in the preview, and that is normal.

Quick checklist

  • Props off.
  • Receiver Mode and provider match the receiver (Serial + CRSF, or SPI + EXPRESSLRS).
  • Telemetry on, RSSI input and RSSI Channel off (unless you deliberately show LQ on DJI goggles).
  • Each stick moves only its own bar, in the right direction.
  • Roll, pitch and yaw centre at 1500.
  • Minimums about 1000 (988-999 is fine), maximums about 2000 (2001-2012 is fine).
  • Endpoints fixed in the radio for all quads, or with rxrange for one quad.
  • rx_min_usec and rx_max_usec left at their defaults.
  • Arm switch on AUX1, about 1000 disarmed and 2000 armed.
  • After all changes, test failsafe as described in the failsafe article on this site.