FPV Drone ESC Telemetry Integration: RPM Filtering, Temperature Monitoring, and OSD Data Fields — 2026

ESC telemetry is the most underused data pipeline on your quad. Your ESCs are measuring RPM, temperature, and current draw 16,000 times per second — and most pilots never read a single byte of it. Here’s how to pipe that data into your OSD and flight controller.

Step-by-Step ESC Telemetry Setup

Step 1: Check ESC Telemetry Compatibility

ESC telemetry requires both hardware and firmware that support bidirectional communication. Specifically, you need:

  • BLHeli_32 ESCs (not BLHeli_S unless flashed with BlueJay firmware that enables bidirectional DShot) running version 32.7 or later
  • DShot protocol selected in Betaflight (DShot300 or DShot600 recommended)
  • A physical telemetry wire from the ESC to a UART on the flight controller (for separate telemetry pads), OR bidirectional DShot if your FC and ESCs both support it

Run the BLHeliSuite32 configurator and connect. If your ESCs show up with firmware version ≥32.7 and you see a “Telemetry” column, you’re ready.

If you’re running BLHeli_S ESCs, flash BlueJay firmware (https://github.com/mathiasvr/bluejay) to enable bidirectional DShot. This gives you RPM telemetry at a minimum — ESC temperature requires BLHeli_32 hardware with an onboard temperature sensor.

Step 2: Enable Bidirectional DShot in Betaflight

In Betaflight Configurator → Motors tab, enable “Bidirectional DShot” and set the protocol to DShot300 or DShot600. This tells the flight controller to listen for telemetry packets on the same wire used for motor signals. No additional UART needed.

After enabling, go to the Motors tab and spin each motor individually (props off). You should see an RPM reading in the “RPM” column for each motor. If RPM shows 0, bidirectional DShot isn’t working — check your BLHeli firmware version and DShot protocol selection.

Step 3: Wire the ESC Telemetry UART (for full telemetry including temperature and current)

Bidirectional DShot gives you RPM. For ESC temperature, per-motor current, and per-motor voltage, you need a dedicated telemetry wire. This is a single wire that daisy-chains through all four ESCs and connects to a free UART RX pad on your flight controller.

The wiring pattern:
1. Find the telemetry pad (usually labeled “TLM” or “T”) on each ESC
2. Solder a wire connecting all four telemetry pads in series
3. Run the final wire to a free UART RX pad on the FC (e.g., RX5)
4. In Betaflight Ports tab, set that UART’s “Sensor Input” column to “ESC”

After wiring, go to the Sensors tab in Betaflight and look for “ESC Temperature” and “ESC Current.” If they show values, you’re connected. Most ESCs report temperature in °C and current per motor in amps.

Step 4: Configure OSD to Display Telemetry Data

Open the Betaflight OSD tab. Add any combination of these telemetry fields:

OSD Element Data Source Diagnostic Value
ESC RPM (individual) Bidirectional DShot Detect desyncs, bad motor, bent prop
ESC Temperature Dedicated telemetry UART Catch overheating ESC before failure
Average RPM Calculated from 4 motors General motor health trend
Maximum ESC RPM Peak hold from all ESCs Prop unloading events
ESC Current Dedicated telemetry UART Per-motor amp draw imbalance

The single most useful field: ESC Temperature. A hot ESC is a dying ESC. If one motor’s ESC reports 85°C while the others sit at 60°C, you have a partial short, bad MOSFET, or an overtightened motor screw touching the windings. I’ve caught three impending ESC failures this way — each time, the temperature spiked 10-15 flights before the ESC actually failed, giving me time to replace it on the bench instead of in the field.

ESC Telemetry Protocol Comparison

Telemetry Method Data Available Wire Count Latency ESC Compatibility
Bidirectional DShot RPM only 0 additional ~2ms BLHeli_32 ≥32.7, BlueJay
Dedicated TLM wire RPM, temp, current, voltage 1 wire daisy-chain ~5ms BLHeli_32 with TLM pad
KISS telemetry RPM, temp, current 1 wire per ESC ~1ms KISS ESCs only
PWM (no telemetry) None N/A N/A Legacy BLHeli_S

Common Mistakes & How to Avoid Them

Mistake 1: Enabling bidirectional DShot on BLHeli_S without BlueJay. Stock BLHeli_S firmware has no clue what bidirectional DShot is. The motors will still spin, but RPM will read zero. Flash BlueJay first, then enable bidirectional DShot.

Mistake 2: Daisy-chaining telemetry to the wrong UART pad. ESC telemetry needs a UART RX pad, not TX. The ESCs transmit data — the FC receives it. Soldering to TX means you’re connecting two transmitters together, which at minimum produces no data and at worst fries the UART.

Mistake 3: Expecting temperature telemetry from a 4-in-1 ESC board. Most 4-in-1 ESCs have a single temperature sensor for the entire board, not per-motor. The “ESC 1 temperature” reading is actually the whole board. If one motor channel is overheating, you’ll still see it — the board temperature rises regardless of which channel is the source.

Mistake 4: Enabling RPM filtering without verifying RPM data. Betaflight RPM filtering uses the actual motor RPM to place notch filters precisely at motor frequency harmonics. If RPM data is wrong (garbage values from a bad telemetry link), the notch filters chase phantom frequencies and the quad flies worse than with no filtering at all. Always verify clean RPM data in the Motors tab before enabling RPM filtering.

Mistake 5: Ignoring telemetry dropout warnings. If your OSD shows RPM data flickering between real values and zero mid-flight, you have a marginal telemetry connection. Check your ESC signal ground — a floating ground causes the biggest telemetry headaches.

Internal Resources

ESC telemetry pairs directly with RPM filtering — once you have clean RPM data, configure the filters to actually use it. Our Betaflight RPM filtering setup guide walks through the complete filter chain. And if one motor’s RPM consistently differs from the others, our motor sizing and KV selection guide helps identify whether you have a stator mismatch or a mounting issue.

Visual Reference

Chris Rosser (UAV Tech) demonstrates ESC telemetry wiring and Betaflight configuration with oscilloscope captures of clean vs. noisy telemetry signals:

Hardware That Does Telemetry Right

Not all ESCs expose their telemetry pad in an accessible location. The uavmodel 50A BLHeli_32 4-in-1 ESC has the telemetry pad positioned at the board edge with a clearly labeled “T” pad, and it ships with BLHeli_32 version 32.9 pre-flashed — bidirectional DShot works immediately with no firmware upgrade required. The onboard temperature sensor has been accurate within ±2°C across the six units I’ve tested.

⚠️ Regulatory Notice: The flight recommendations in this article should be followed in accordance with the latest 2026 drone regulations in your country or region. Always verify local laws regarding flight altitude, no-fly zones, remote ID requirements, and registration before flying. Regulations vary significantly between the FAA (US), EASA (EU), CAA (UK), CAAC (China), and other authorities.

Leave a Comment

Scroll to Top