How to setup BLHeli32 ESC Telemetry & Current Sensor

ESC telemetry allows you to monitor the temperature of ESC, and the RPM of the motors. You can also monitor current usage without having a dedicated current sensor on the FC or PDB (real-time current draw and mAh consumed)

In this guide I will show you how to set up ESC Telemetry in Betaflight to be displayed on OSD.

Limitation in Betaflight ESC Telemetry

Current sensors built into flight controllers and PDB are usually placed right after the XT60 connector, so all current usage can be recorded.

ESC telemetry can possibly replace the FC/PDB current sensor, but it’s not the most accurate because they only monitor current usage by the motors. Anything else such as FPV gear, radio receiver etc, is not taken into account.

Betaflight ESC telemetry is also very limited in terms of what you can display in the OSD at the moment (Nov 2017).

The featured image on the top of the article, which shows RPM, temperature and current draw of each individual motor, is from my KISS quad running KISS FC and KISS ESC’s. I found this setup to be really useful for analysing the performance of my quad and the motors.

KISS’s ESC Telemetry

On the other hand, in Betaflight, all you can show on the OSD are the temperature of the hottest ESC’s and the averaged RPM of all motors.

Betaflight’s ESC Telemetry

As far as I know, BF will allow more data to be displayed (hopefully match what the KISS OSD can do) in Betaflight 3.3.

Requirement

Hardware and Firmware

  • BLHeli32 ESC that has ESC telemetry pad (TX) and flashed with the latest firmware, ESC’s that I have tested this feature on:
  • F3, F4 or F7 Flight Controller running Betaflight 3.1.0 firmware or newer, with 1 spare UART
  • Betaflight Configurator (Chrome App) version 1.8.5 or newer

Further reading:

How to setup ESC Telemetry in Betaflight OSD

Simply connect all the TX pins (telemetry pads) on the ESC’s to the same RX pin of a spare hardware UART on the flight controller. The FC will be able to read the data from ESC’s one by one.

For 32-bit 4in1 ESC that supports ESC Telemetry, there should be only 1 TX pin. You only need to connect this TX pin to a spare RX pin on the FC.

First of all, open Betaflight Configurator, and in Ports Tab, find the UART that is used for ESC telemetry, under Sensor Input, select “ESC” in the drop-down list. Click “Save” button.

In the Configuration Tab, enable feature “ESC_Sensor“.

You can now use your ESC for voltage and current monitoring in the “Power & Battery” tab by selecting “ESC Sensor

Important: You also have to set DShot as the ESC protocol (DShot150, DShot300, DShot600 or DShot1200) in order to get ESC Telemetry to work.

Further Reading: what is DShot?

You can now display your ESC telemetry data on Betaflight OSD.

Under the OSD tab, you can enable “ESC Temperature” (highest value) and “ESC RPM” (average of all motors).

Further Reading: How to setup and use Betaflight OSD?

To verify if it’s working, simply power on your quad, put on your goggles and arm the quad to see if the RPM number is changing when you move your throttle stick. (Make sure to remove propellers when doing this!)

Make sure to check the accuracy of the voltage and current reading from ESC telemetry, you might need to calibrate them by adjusting the scale values. (default usually should work fine)

Further Reading: How to calibrate current sensor?

 

That’s it! I will keep this guide updated.

19 thoughts on “How to setup BLHeli32 ESC Telemetry & Current Sensor

  1. Travis De Souza

    I have a matek f722 board and connected my aria 35a esc as per ur diagram but I can’t see the rpm changes in my osd… what am I doing wrong?

    Reply
  2. Putimir

    Hi, is it possible to have both ESC telemetry and Smartaudio on SAME UART?

    I’m using Airbot Omnibus F4v5 Nano, using UART3 (ESCTLM: RX, SA: TX)…

    I’m sure I have both correctly configured, both work OK separately, but if I enable both, all ports settings are reset after reboot…

    Any ideas?

    Reply
    1. The Gettys

      You can do it on the same physical UART pads by using softserial to move one of the two to a different UART.

      Reply
  3. Stephen

    Hi,
    It would great if someone can shed some light on how to log or count RPM / TTL signals with a F3 or F7 flight controller. Thanks!

    Reply
  4. Stephen

    Hi,
    I enjoyed your article. As a project I have added an external motor rpm sensor which puts out TTL signal. What channel(s) would you suggest to use to log the rpm with an ANY F7 board? Thank you so much for your assistance.

    Reply
  5. Michael Kehler

    On the betaflight F4 board that you are using in the picture, why are you wiring the ESCs to an open UART when there are dedicated esc telemetry pads on the other side of the board?

    Reply
    1. Oscar Post author

      You can use the dedicated telemetry pads, or any spare UART on the FC. I am using an open UART as an example.

      Reply
  6. Andy

    Hello,

    howto get esc current sensor Calibration? i have no scale option in BF or Blhelisuite. And the Current value is totally wrong.

    Reply
  7. Patrick

    I just purchased the DALRC Engine 40amp 4 in 1 ESC. It has a ‘Current Sensor” wire on it, is this the same as ‘esc telemetry’? Have you tested this ESC yet?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

For prompt technical support, please use our forum IntoFPV.com. I check blog comments weekly.