Feature Request: Add ELRS TX Output Power OSD Element

Currently, ArduPilot lacks an OSD panel element to display the real-time uplink transmitter (TX) output power for ExpressLRS/CRSF control links. While ArduPilot can display VTX power, long-range pilots cannot monitor their RC transmitter’s dynamic output power directly in their FPV goggles.

I am requesting a new OSD panel element (e.g., ELRS_TX_PWR or CRSF_TX_PWR) added to the ArduPilot OSD configuration. This element should read the transmitter output power data sent via the CRSF uplink telemetry stream and display it on the screen (in mW).

The only current alternative is using EdgeTX/OpenTX telemetry screens or looking down at the radio transmitter’s physical screen, which is unsafe and impractical while flying with FPV goggles.

The CRSF protocol already includes transmitter power information in its telemetry frames. Since ArduPilot already decodes CRSF telemetry for Link Quality (LQ) and RSSI, expanding this to grab the TX power packet should be highly feasible and would greatly benefit the growing number of ExpressLRS users in the ArduPilot ecosystem.


I also think it would be good to be able to add the TX output power to the OSD.

I’m pretty sure you could also have EdgeTX call out the power level. I believe you could either have this call out occur at set time intervals or the call out could occur whenever the power level changes.

If you make a custom firmware build and add Enable OSD panels with extended link stats data

You’ll get rssi dbm, the power levels,link quality and snr.

3 Likes

I decided I wanted this feature in my GX12 transmitter. In case anyone is interested, this is how I set it up.

Add a logical switch which triggers when the absolute value of the change in transmit power is greater than or equal to 1 mW.

Add a special function which uses this logical switch to trigger having the TX power announced.

I tied the logical switch to the physical switch (SA) so I can turn off the announcement if desired.