Your motors have sensors built into the ESC that can report RPM, temperature, and current draw — but most pilots never enable the telemetry wire that sends this data to the flight controller. It is a single wire. The data it provides catches failing motors before they seize and lets you verify RPM filtering is actually working. Here is the complete setup for both BLHeli_32 and Bluejay ESCs.
Why ESC Telemetry Matters Beyond RPM Filtering
RPM filtering is the feature that gets all the attention, but raw telemetry data serves a different purpose: diagnostics. A motor bearing starting to fail will show elevated temperature in telemetry days before you can feel the roughness by hand. A desyncing motor will show RPM spikes that the gyro never sees. ESC current telemetry, combined with FC current sensing, gives you per-motor energy consumption — useful for diagnosing efficiency differences between motors on a new build.
Step 1: Identify Your ESC Telemetry Wire
Most modern 4-in-1 ESCs have a dedicated telemetry pad labeled “T” or “TELE” on the connector or PCB. On individual ESCs, it is usually the pad next to the signal and signal ground pads.
- BLHeli_32 ESCs: Almost all have a telemetry output pad. It sends a digital signal (ESC-specific protocol) that encodes RPM, temperature, and sometimes current.
- Bluejay ESCs: Telemetry is enabled in firmware but the physical output pad may be shared with the LED strip pad or absent entirely on budget ESCs. Check your ESC manual for “DSHOT telemetry on the” pad label.
- AM32 ESCs: Telemetry is supported on most AM32 builds. The pad is usually labeled “T” or “TLM.”
Wire the ESC telemetry pad to any free UART RX pad on the flight controller. Only one wire is needed — the signal travels from ESC to FC. The ground reference is shared through the main power and signal ground connections.
Step 2: Configure Betaflight for ESC Telemetry
- In the Ports tab, find the UART that you wired the telemetry wire to. Set the “Sensor Input” column to “ESC” for that UART. Do NOT enable “Serial Rx” on this UART — ESC telemetry is a one-way sensor protocol, not a receiver protocol.
- Go to the Configuration tab. Under “ESC/Motor Features,” enable “Bidirectional DShot” — this is what allows the ESC to send data back to the FC on the motor signal wires. Set the DShot protocol to DShot300 or DShot600.
- In the CLI, verify with:
get esc_sensor. Theesc_sensor_halfduplexsetting should be OFF unless your ESC telemetry shares a pin with something else — this is rare. - Save and reboot. Go to the Power & Battery tab. Under “ESC Sensor,” the “Current” and “Voltage” sources should auto-populate if the ESC is sending that data. Most BLHeli_32 ESCs send RPM and temperature but NOT current — current sensing usually comes from the FC’s onboard current sensor.
Step 3: Add Telemetry Elements to Your OSD
- In the OSD tab, drag the following elements onto your layout:
– ESC RPM (all four motors): Shows individual motor RPM. During a hover at 40% throttle on 4S with 2450KV motors, expect 12,000-16,000 RPM across all motors. A motor reading 0 RPM while the others spin indicates a desync or dead ESC.
– ESC Temperature: Shows the temperature at the ESC’s MOSFETs. Normal range is 40-70°C in flight. Above 90°C, land immediately — the ESC is overheating.
– ESC Current (if available): Per-motor current draw. Useful for spotting a motor that is drawing more current than its neighbors, indicating bearing drag or a bent bell. - In the OSD “Alarms” sub-tab, set:
– ESC temperature warning: 85°C
– ESC RPM minimum: 1000 (alerts if a motor stops entirely) - Set the OSD profile to display these elements. I fly with ESC RPM visible on my first few packs after a build, then turn it off once I am confident the build is solid — it is too much data for routine flying but invaluable for diagnostics.
Step 4: Verify RPM Data Is Accurate
RPM filtering depends on accurate RPM data. If the reported RPM is wrong, your filters are fighting the wrong frequencies.
- In the Motors tab, spin up motor 1 to exactly 1000 in the slider (with props off)
- Note the reported RPM in the ESC sensor area below the sliders
- For a 2450KV motor on 4S (16.8V): 1000μs pulse width ≈ 12% throttle ≈ 2450 × 16.8 × 0.12 ≈ 4,900 RPM. If you see 0 RPM or a wildly different number (like 60,000 RPM), your motor pole count in Betaflight is incorrect.
- In CLI, set
motor_poles = 14(most 5-inch motors),motor_poles = 12(some 2207/2306), or check your motor specs. Re-verify after changing.
ESC Telemetry Protocol Comparison
| Feature | BLHeli_32 Telemetry | Bluejay Telemetry | AM32 Telemetry |
|---|---|---|---|
| RPM data | Yes, per motor | Yes, per motor | Yes, per motor |
| Temperature | Yes, at MOSFET | Yes, at MCU | Yes, at MCU |
| Current per motor | Yes (some ESCs) | No | Yes (some ESCs) |
| Voltage per motor | No | No | No |
| Setup wire count | 1 (T pad to UART RX) | 1 (shared pad on some) | 1 (T pad to UART RX) |
| PWM frequency data | Yes | Yes | Yes |
| Requires bidirectional DShot | Yes | Yes | Yes |
Common ESC Telemetry Mistakes
Mistake 1: Enabling bidirectional DShot without connecting the telemetry wire. Bidirectional DShot sends RPM data back on the signal wire — this is enough for RPM filtering. But temperature, current, and raw telemetry require the dedicated telemetry pad wire. Pilots enable bidir DShot, see RPM filtering working, and assume telemetry is fully set up. It is not. Wire the T pad.
Mistake 2: Connecting ESC telemetry to a UART TX pad instead of RX. The ESC transmits data, and the FC receives it. Wire ESC T pad → FC UART RX pad. A TX-to-TX connection will read nothing. This is the most common wiring error because it is counterintuitive — “the ESC talks, so connect it to the FC’s talk pin.” No. Read the labels literally: RX means “receive.”
Mistake 3: Setting the wrong motor pole count. If your motors have 14 poles and you set motor_poles = 12, the reported RPM will be 16% higher than actual. The FC then applies RPM filters to frequencies that do not exist and ignores real motor noise. This makes the quad fly worse than if RPM filtering was off entirely.
Mistake 4: Ignoring ESC temperature alarms. An ESC hitting 95°C is not “running a little warm.” It is one hot day, one punch-out, or one slightly too-aggressive tune away from thermal shutdown mid-flight. If you see repeated high-temp warnings, reduce D-term, check that your ESC has airflow (not buried under a battery strap), or upgrade to an ESC with a higher current rating.
Mistake 5: Assuming ESC telemetry replaces FC current sensing. ESC telemetry reports per-motor current if the ESC supports it, but the FC’s onboard current sensor is typically more accurate for total pack draw. Use ESC telemetry for per-motor diagnostics and FC current sensor for mAh consumed and battery warnings.
⚠️ Regulatory Notice: The telemetry setup and testing procedures in this article should be performed in accordance with the latest 2026 drone regulations in your country or region. Always verify local laws before conducting flight tests. Regulations vary significantly between the FAA (US), EASA (EU), CAA (UK), CAAC (China), and other authorities.
Related Guides
ESC telemetry pairs directly with RPM filtering — our Betaflight RPM Filtering Setup guide covers the filter configuration side. For ESC firmware selection, see our BLHeli_32 vs Bluejay vs AM32 comparison.
ESC Pick
For a 5-inch freestyle build that needs reliable telemetry data, the uavmodel Skystars KM55A BLHeli_32 4-in-1 ESC outputs full RPM, temperature, and per-motor current telemetry on a clearly labeled T pad. Rated for 55A continuous with a 65A burst — enough headroom for aggressive 6S setups.
