No ESC telemetry data in Mission Planner

Hi,

I am attempting to get ESC telemetry on my quadcopter with a Pixhawk Cube Orange FC.
The ESCs are running BLHeli32 32.9, FC firmware is Arducopter 4.2.2.

I have tried two different approaches, with no success.

For both approaches there is a single wire spliced to all four separate ESCs, connected to the telemetry output.

The ESC appear to be sending telemetry information, but none is actually shown in Mission Planner.

Serial
I connected the telemetry connection to the RX port on Serial1 on the Pixhawk FC.

I set parameters as shown in the instructions: BLHeli32 and BLHeli_S ESCs — Copter documentation
SERIAL1_PROTOCOL = 16
Others left as default.

I could probe the signal on the telemetry wire and see the signal change if I throttled the motors, but I could not see any telemetry information in Mission Planner.

CANBUS
I attempted to connect the ESC telemetry via MatekL431-Dshot DroneCan to UART adapter.
I plugged the adapter into CAN port 1.

I set up the parameters as seen in the attached parameter file.
CANBUS.param (16.8 KB)

The adapter is visible in DroneCAN GUI, and I can see status packages being received from the ESC in the DroneCAN interface, but again there is no ESC data in Mission Planner.

I’m sure I’ve just missed something simple.
Any help would be really appreciated.

Thanks!

Post your parameter file when using the serial port.

I would use Serial 2, not because the protocol or data is any different based on serial port numbers, but on Serial1 the +5volt supply has a higher current rating, 1.5amps I think, to allow for telemetry radios and similar. You might need that Serial1 port for something critical later. It’s also got the flow control pins.

This has worked for a Cube Orange with DSHOT ESCs
SERIAL2_BAUD,115200
SERIAL2_OPTIONS,16
SERIAL2_PROTOCOL,16

And the ESCs need to be connected to Servo 9 onwards, like this:
SERVO9_FUNCTION,33
SERVO9_MAX,2000
SERVO9_MIN,1000
SERVO9_REVERSED,0
SERVO9_TRIM,1000
SERVO10_FUNCTION,34
SERVO10_MAX,2000
SERVO10_MIN,1000
SERVO10_REVERSED,0
SERVO10_TRIM,1000
SERVO11_FUNCTION,35
SERVO11_MAX,2000
SERVO11_MIN,1000
SERVO11_REVERSED,0
SERVO11_TRIM,1000
SERVO12_FUNCTION,36
SERVO12_MAX,2000
SERVO12_MIN,1000
SERVO12_REVERSED,0
SERVO12_TRIM,1000

and you can set up the Harmonic Notch filter like this:
INS_HNTCH_ENABLE,1
INS_HNTCH_ATT,40
INS_HNTCH_BW,40
INS_HNTCH_FREQ,80
INS_HNTCH_MODE,3
INS_HNTCH_REF,1

Thanks for your help.

I tried the above from @xfacta
I already had my ESCs set up on servo 9 to 12 as described.

Unfortunately, this still did not display ESC telemetry in Mission Planner.

Here are the parameters for serial connection after testing this:
ESC Telemetry on TELEM2.param (16.8 KB)

When I enable “auto telemetry”, I see signal on the telemetry wire, which is not being recognised by Pixhawk.
When this is off, I do not see any requests for telemetry from the Pixhawk at all.

Set serial0 to protocol 2. Mavlink2
or the advanced/newer data types are not sent to your GCS

You should find the ESC data is recorded in the logs regardless of it not appearing MissionPlanner.

Remember to turn off the auto telemetry in BLHELI

The requests for data come over the DSHOT signal wires. That might not happen until you arm. The Mission Planner motor test does produce ESC telemetry data.

1 Like

@xfacta
Thanks for all your help!

I can see ESC telemetry in my logs with auto telemetry off.
It sometimes seems to show RPM and temperature data incorrectly, but this is a good step in the right direction.

I have a few things running on my GCS which do not work with Mavlink 2, but I’m happy with just seeing the telemetry in the logs for now.
I will move over to Mavlink 2 soon when I update a couple of things.

Can you help me? I want to receive ESC messages via Arduino maavlink_msg_esc_telemetry_1_to_4