ESC Telemetry not working

Hello,
I have problem with ESC Telemetry i do everything like is explained in this tutorial https://ardupilot.org/plane/docs/common-dshot.html
but in APM not appeared esc1 parameters. I am running mavlink2.
FC Pixhawk 1
Settings
SERIAL4_PROTOCOL 16
SERIAL4_BAUD 115
SERIAL4_OPTIONS 0
other parameters corresponding parameters shown in tutorial.

Are you using Dshot protocol or Pwm/Oneshot?

You might want to config the firmware on the ESCs to send telemetry regardless of a request… That is what I had to do…

The protocol is DShot, i will test config of the ESC later today

Even the BLHeli_32 Pass-Through not work.

I can’t get that working either… Did you enable the telemetry to 10hz on your ESCs?

Have you set SERVO_BLH_MASK parameter correctly?
These are my settings for Quadcopter.

  • SERVO_BLH_MASK 3840
  • SERVO_BLH_AUTO 1
  • SERVO_BLH_TEST 0
  • SERVO_BLH_TMOUT 0
  • SERVO_BLH_TRATE 5
  • SERVO_BLH_DEBUG 0
  • SERVO_BLH_OTYPE 0
  • SERVO_BLH_PORT 0
  • SERVO_BLH_POLES 24

I connect the ESC to my Betaflight quad, and make ESC firmware update to version 32.7. After firmware update BLHeli_32 Pass-Through start working with my pixhawk. but still no telemetry, on Betaflight the telemetry work proper for this ESC.

Is SERIALn_OPTION affects ESC telemetry and which value is proper?

Is good to be writen in the tutorial after which ESC firmware version this work.

Can you share pictures of your setup so that we can figure out if something’s wrong with connection?

I even check the serial port health with mavlink radio, the port is OK. i will provide settings after couple of hours.

BLH_Param
This is my settings.

I did some testing tonight with my Holybro Tekko 32 ESCs.

Here is what I found

With auto telemetry disabled in the BLheli_32 formware…

Using Dshot xxx you get telemetry back from each and every ESC no problem
Using PWM/Oneshot/Oneshot125 You get no telemetry info

With Auto telemetry enabled in the BLHeli_32 firmware…

Using PWM/Oneshot/Oneshot125 you do get telemetry. There is a slight chance for telemetry data to collide between the ESCs but this only shows as a glitch in the reporting in the bin file.

Long and short… If you are not running Dshot and you want telemetry data you have to enable auto telemetry in the BLHeli_32 Firmware

With and without Auto Telemetry there no telemetry data,

That’s interesting, I get them on oneshot/pwm when I enable the auto telemetry in the firmware

Which ESCs do you have? and how are they wired?

Picture?

Auto telemetry in BLHeli means it just sends telemetry periodically without being asked, so you cant use multiple ESC’s on the same serial port. You must use the Dshot protocol to so you can ask each ESC to send its telemetry data back in turn. You can then share a serial-port with all your ESC’s.

TLDR: use Dshot and turn off auto telemetry

@iampete In my Octo I am using auto telemetry, only because I am using Oneshot125 (due to lack of dshot outputs) The only way I was able to get telemetry was to enable auto telemetry.

I do have them all tied together to a common serial port. For 99% of all logs, the data seems “real”. Every now and again I will get a collision of the data and the logs show a spike to like 40k rpm.

However for the most part I do still get usable data as far as amps and rpm. Also I used this data for Andy’s Dynamic Notch filtering and it does work and provides great results.

TLDR: Although you get messages crashes occasionally, when using an ESC protocol besides Dshot, autotelemetry is necessary to enable

with the same wiring but on betaflight board, this ESC sends telemetry, but on my pixhawk not work, i test the port functionality with other device… the port is healthy.

If you only logging then this is not a big deal. But if your using telem for battery monitoring or notch filtering and you ESC’s start reporting in sync and you get bad data for several seconds bad things could happen. Certainly not recommended.

In your case I think I would use D-shot and telem on 6 of the 8 using the aux pints and either don’t have or use a second serial port for the last two ESC’s telem using the auto work around.

1 Like

It is a good idea to mix and match ESC protocols? For example on my CUAV cube only 1-4 of the aux pins can be used for dshot. In a hex, would it be ok to use m1 &m2 PWM and then use AUX 1-4 for Dshot and telemetry?

its OK but not ideal. DShot gives a noticeable improvement in responsiveness. Probably a good idea to do the tune with all on PWM before switching to DShot and have the pwm motors opposite each other.