Everything below is set up on the radio in EdgeTX, using telemetry from a Betaflight quad over ExpressLRS or another CRSF link. Menu names follow the EdgeTX manual for color-screen radios; black-and-white radios have the same options with shorter labels.
First: telemetry has to reach the radio
- In Betaflight Configurator, Receiver tab, turn on "Telemetry" and save. In the CLI this is the
TELEMETRYfeature. - In the ExpressLRS Lua script, check that the telemetry ratio isn't set to Off. How often battery voltage refreshes depends on that ratio. The ExpressLRS docs say 200 Hz with 1:16 usually works well when you want fast telemetry. More on choosing a ratio in the packet rate and telemetry article on this site.
- Power the quad with props off. On the radio open Model Settings, Telemetry page, and select "Discover new". Within a few seconds the sensor list fills up.
Two groups of sensors appear. The link statistics come from the receiver and the TX module: 1RSS and 2RSS (signal strength per antenna), RQly (receiver link quality), RSNR, RFMD (packet rate), TPWR (TX power), TQly and others. Battery voltage RxBt, current Curr and used capacity Capa come from the flight controller. EdgeTX also creates min and max versions of every sensor, for example RxBt- and RxBt+, which hold the lowest and highest value recorded.
On the Telemetry page, a value shown in red is no longer receiving regular updates. If RxBt stays red, voltage telemetry isn't coming from the flight controller.
Check RxBt against a multimeter or a cell checker. Oscar Liang notes that it's rarely off, but if it is, calibrate the voltage sensor in Betaflight's Power & Battery tab. The voltage calibration article on this site covers that.
Per-cell voltage instead of pack voltage
By default RxBt reports the whole pack voltage. One CLI line in Betaflight switches it to average cell voltage:
set report_cell_voltage = on
save
Then the same thresholds work for 4S and 6S packs, and you don't have to divide in your head. The examples below assume this setting. If you leave it off, multiply the voltage thresholds by the number of cells.
1. Voltage on a button
In Model Settings, open Special Functions and add a line:
- Trigger: a free switch, ideally a momentary button (Oscar uses SH↓ on the RadioMaster GX12).
- Function: Play Value.
- Value: RxBt. Pick plain RxBt, not RxBt- or RxBt+, which are the recorded minimum and maximum.
- Repeat: 1x, so it speaks once per press. The !1x option does the same but stays silent at startup if the switch is already active.
- Enable: checked.
Press the button and the radio reads out the voltage. If you hear nothing, check that the function is enabled, the volume is up and a voice pack is installed on the SD card.
2. Automatic low-voltage warning
This takes two parts: a logical switch that turns on when voltage drops, and a special function that speaks when it does.
Logical switch (Model Settings, Logical Switches, for example L01):
- Func: a<x
- V1: RxBt
- V2: 3.5 V (Oscar's example with per-cell reporting)
- Delay: about 3 s
The delay matters. On a full-throttle punch the voltage sags for a moment, and without a delay the alert would go off on every climb. The switch turns on only when the voltage stays below the threshold for the whole delay. The RC-Soar guide suggests a similar 3 seconds.
Optionally put the arm switch in the AND switch field. The logical switch is then only evaluated while the quad is armed, and the radio won't nag when you plug in a nearly flat pack on the bench.
Special function:
- Trigger: L01
- Function: Play Value with RxBt (you hear the actual voltage), or Play Track with the "lowbat" file, or Play Sound with a beep.
- Repeat: for example 10s, so the warning repeats every 10 seconds while the voltage stays low. With 1x it speaks once.
When the voltage recovers above the threshold, for example after you ease off the throttle, the switch turns off and the alert goes quiet. The voltage under load is lower than at rest, so pick a threshold that means "time to land" for your packs and flying style, and don't treat it as resting voltage. More on that in the LiPo health article on this site.
If the flight controller has a current sensor, the same pattern works with Capa: an a>x logical switch on used mAh and a special function that announces it.
3. Flight timer on the arm switch
In Model Settings, Model Setup, Timer 1:
- Mode: ON
- Switch: the arm switch position that arms the quad
- Start: your usual flight time for the pack. With a value other than 00:00 a Direction field appears; choose Show Remaining to count down.
- Count Down: Voice, with the start value 10s, 20s or 30s, so the radio counts out the last seconds.
- Minute Call: on, if you want to hear every passing minute.
- Persistent: Off resets the timer when you switch models or power the radio off.
The manual describes ON simply as "runs all the time", but the EdgeTX source code is clearer: in ON mode with a switch selected, the timer counts only while that switch is active. So it stops when you disarm and continues when you arm again. If you want a timer that keeps running after the first arm, choose Start mode, which ignores the switch once it has started.
To zero the timer between packs, add a special function with Reset and Timer 1 on a free switch, or use Reset in the telemetry menu.
4. Link quality alarms
At the top of the Telemetry page there are two thresholds: Low alarm ("RF signal low") and Critical alarm ("RF signal critical"). The section label changes with the protocol: with CRSF, which ExpressLRS uses, it reads Rqly. The manual gives 45 and 42 as recommended values.
What the radio actually compares is worth knowing. In the EdgeTX source, for CRSF the receiver's link quality RQly is stored as the RSSI value used for alarms. With ExpressLRS these thresholds are therefore link quality in percent, not dBm. The source also shows that the alarm repeats at most every 10 seconds, and that "Telemetry lost" is announced after about one second without link statistics, followed by "Telemetry recovered" when they return.
Set the thresholds to what is still normal for your packet rate and spots. For comparison, the ExpressLRS docs suggest 60 as a starting point for the LQ alarm in the Betaflight OSD. "Telemetry lost" is about the return path from the receiver, which the radio uses to judge the link. The ExpressLRS troubleshooting page says that on a newer radio it shouldn't appear at all unless you fly very far on a receiver without an amplifier for its telemetry signal, such as the EP receivers. If you hear it at your usual spot, look for a setup problem.
The "Disable telemetry alarms" option turns off all of these messages. Use it only if you've set up your own alerts.
Test before you fly
With props off, power the quad and check each alert:
- Press the voltage button and listen.
- Temporarily set V2 in the logical switch above the current voltage, arm (if you used the AND switch) and wait for the delay. The warning should play. Then set the threshold back.
- Arm and disarm a few times and watch Timer 1 start and stop.
If an alert stays silent, look at the sensor first: a red value on the Telemetry page means there's no current data. If the sensor list holds old or duplicate entries, clear it with "Delete All" and run "Discover new" again. After that, check that the logical switches and special functions still point to the right sensor.