How to setup BLHeli32 ESC Telemetry & Current Sensor

by Oscar

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)

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

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

Limitation of ESC Telemetry

ESC Telemetry is a cool feature, but most people probably find it not that useful. Let me explain why.

ESC Telemetry can report RPM of the motors to the flight controller (how fast the motors are spinning). This information is useful for RPM filter in Betaflight. However bi-directional DShot already does it, and does it better because it’s much faster. RPM reporting from ESC telemetry is just too slow for RPM filter.

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, are not taken into account.

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

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. And really… it’s not that useful to know the temperature of the ESC.

Betaflight’s ESC Telemetry

That’s why I don’t personally normally setup ESC telemetry in my drones. But if you still wanna go ahead and do it, here is how.

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.

Important: If you are not getting any current (amp draw stays 0) when setting the source to ESC sensor, it’s possible that the 4in1 ESC does not support it. For this to work, the 4in1 ESC has to have four shunt resistors (one per ESC). If you can only see one near the power pad, that means it only works with “Onboard ADC” as current meter source, and you need to connect the “Curr” pad on the ESC to the FC.

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.

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.

29 comments

Julien Ragot 9th August 2019 - 7:05 pm

Hello, i have a escs with telemetry pads and i was wondering if the rpm and current can be recorded as data in a file?

Reply
Oscar 12th August 2019 - 11:41 am

i think this can be recorded in blackbox log.

Reply
Niels Herbrich 27th July 2023 - 7:28 am

Hi Oscar.
Does this work only with betaflight or also with arduplane?
Thank you,
Niels

Reply
Capt.Chris Harris 19th April 2019 - 12:35 am

I have a TBS digital current sensor .Can I set it up on a spare UART RX?

Reply
Mert 24th March 2019 - 6:52 pm

What about the DYS Aria 35A in combination with the MATEK F405 CTR? Both have dedicated pads for ESC telemetry. Is it possible to write something about that?

Reply
Mark Pfeifer 9th March 2019 - 9:58 pm

Hi Oscar

I just got the Tekko32 4-in-1 METAL 65A ESC. I already used the 35A Tekko32 4-in-1 on my previous build and assumed it would be the same.

I read Tekko32’s description for the Metal 65A: “The 4in1 has onboard analog current sensor, and TLM function(then no current reading over TLM)”.

What does this mean?

When I tried to go into the current sensor calibration in BLheli32 V 32.6, it seems the place where you used to be able to calibrate the current (like with my Tekko32 build on BLHeli32 V32.4) is now gone. Or am I doing something wrong?

Basically, could you do a blog on telemetry on the new Tekko32 Metal 65A?

Thanks!

Reply
Blair 3rd February 2019 - 3:43 am

Hi,

I have a Holybro Kakute F& AIO and a 4in1 ESC and connected the Telemetry from the ESC to the Telemetry pad on the Flight Controller. I am not reading any data V or A after following this and setting to DSHOT1200
Am I missing something here?

Reply
100tu 3rd February 2019 - 6:13 pm

Same with kakute f4 and tekko 32… still searching…

Reply
Blair 4th February 2019 - 7:22 am

I manged to get the voltage reading working and confirm the esc senor is selected. But not able to get current. There is a current wire from my esc but isn’t Telemetry supposed to report this to betaflight?

Reply
Oscar 10th February 2019 - 8:40 pm

Please join IntoFPV.com for troubleshooting, thanks!

Reply
Travis De Souza 11th October 2018 - 12:02 pm

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
Putimir 10th July 2018 - 4:00 pm

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
The Gettys 20th July 2018 - 2:33 am

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

Reply
Oscar 24th July 2018 - 6:15 pm

Yes, you can set that UART’s TX to softserial, and use the RX pin for ESC telemetry.

Reply
Timothy Christopher Roncone 27th July 2018 - 10:55 am

You can’t use two different features on the same uhart.

Reply
Stephen 28th June 2018 - 4:55 pm

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
Stephen 27th June 2018 - 1:59 pm

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
Michael Kehler 7th March 2018 - 1:33 am

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
Oscar 7th March 2018 - 1:56 am

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

Reply
kevin 26th February 2018 - 8:59 pm

How does this connect when using 4in1 ESC ?

Reply
Andy 1st February 2018 - 7:31 am

Hello,

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

Reply
Oscar 5th February 2018 - 2:22 pm

I think it’s now possible to calibrate, it’s in the latest BLHeliSuite_32 configurator.

Reply
Patrick 9th January 2018 - 11:49 pm

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
matt 9th February 2018 - 12:53 pm

I would also like to know the answer to this.

Reply
Dan 30th November 2017 - 9:19 am

How do you calibrate ESC telemetry voltage/amps? Or is it not an option yet?

Reply
Adam-g1 29th November 2017 - 1:56 pm

As far as I’m aware, it’s not possible to calibrate the esc voltage or current in betaflight is it?

Reply
NitroNAF 20th January 2018 - 8:01 am

You can in the new beta version 3.2.31-/+ 1% increments.

Reply
arcanis 28th November 2017 - 2:55 pm

where are the scale values

Reply
Oscar 4th December 2017 - 4:18 pm

In the “Power & Battery” Tab.

Reply