No ESC dshot telemetry on CUAV Nora

An X8 drone, all the ESCs are Tekko32 F4 (not 4in1), flashed with blheli_32 32.91 (telemetry-enabled beta). The FC is CUAV Nora, so no bidirectional dshot (yet?), the firmware version is 4.3.0-beta1. The ESC telemetry is not working at all. I’ve flashed an BetaFlight Omnibus F4 board and after connecting a motor signal cables + the serial telemetry (+ of course GND) I’m getting the readings in the BetaFlight GUI (of course only those available there, so no voltage/current and also no ESC temperature as this seems not to be reported by Tekko32).

And in MissionPlanner there are no ESC readings of any kind. I don’t even know how to diagnose this, do the ESCs get queried about the telemetry? I’ve suggested in the blheli_32 that some configurable diagnostics would be available via ESC LEDs, as now there is simply no way of saying what’s happening. The dshot debug parameter displays failure message in the Mission Planner. The banner message shows that DSHOT600 is enabled for all the motors.

If the bandwidth for 8 motors is a problem, is there a way of restricting the TM to some motors? Does the SERVO_BLH_MASK work w.r.t. the telemetry, or only the passthrough? (BTW the latter is also not working with ArduPilot in my case).

Please confirm that the dshot telemetry issue is a problem indeed. Maybe there are some suggestions how to debug?

Can you post your config? What channels are you connected to? Note that ESC telemetry requires dshot. Note that there are some level shifters on some of the channels of the original Nora. On the Nora+ they have removed these and dshot (and bi-directional dshot) works fine.

2 Likes

Thanks Andy for your clarifications. I have to admit that the support quality for CUAV Nora is terrible given how expensive this FC is. There is no way to get the simplest information (such as the pin numbers for the second battery’s voltage and current), not to mention the issue of the Nora+. What exactly does this mod bring? (I’ve noticed only that some serial port sockets are green). Does it mean that there is no way of fixing the issue for Nora (non plus version)?

Here they say:

https://doc.cuav.net/flight-controller/x7/en/nora-plus.html

Nora+ supports monitoring Servo port voltage, the maximum input voltage of Servo port is 10V; other parts have no difference.

I attach my config, I’ve tried much more than that (serial ports with the protocol 16, BLH masks, BLH auto on and off, etc)
X8_CUAV_NORA_parameters.param (18.3 KB)

The banner message states that the outputs 1-8 are DSHOT600, so I hope my ESCs don’t work just in the PWM mode?

I loaded up your config on my Nora+ and all works fine - I get ESC telemetry no problem

Thank you for checking this. I think that it should also work for me, as it is fine with BetaFlight. Does it matter that I have the non-plus Nora variant?

BTW what do you mean by ESC telemetry working? Which parameters do you monitor and where? In Mission Planner HUD or in the logged telemetry? I can see that contrary to the other ESCs I have (for example, Airbot Wraith32), Tekko32 F4 does not output the temperature. Maybe they also do not output the voltages, and the currents and RPMs are reported correctly but I’ve not checked this?

I look in the Mission Planner status tab. I am using a T-Motor F55 Pro II ESC

Just in case its firmware related the firmware I am using is this - ArduPilot firmware : /Copter/latest/CUAV-Nora-bdshot

Thank you so much for your help, I did not know that there is already the bdshot version for Nora, I’ve checked this only recently and there wasn’t. I’ll give it a go.

For betaflight and ESCs other than Tekko32, the temperature is reported only over the telemetry serial port, while the RPMs are transmitted via bdshot. Is this to be expected also here? Do you have the tm serial port connected?

Can bdshot work with 8 motors?

For this check I only used the telemetry serial port

My understanding is that only a few ports will work with bdshot on the regular Nora because of level shifters. On the Nora+ 12 channels should work with bdshot.

Yes, I can confirm that on my another X8 copter also equipped with Nora (non-plus) but different ESCs (Airbot Wraith32), I had exactly that problem: TM was reported only for some motors. I could not figure out which ones and why it was so.

Is the problem related to certain outputs only? Is there a way to get rid of the level shifters? Are they implemented as a hardware?

Why are the level shifters a problem? Do they introduce a delay?

Level-shifters are in hardware usually done to prevent the FMU from overvoltage. The main issue with them is that they are unidirectional - so dshot should work, bdshot not so much. I am not sure why they would effect dshot output. My understanding is that they are on outputs 1-8, so you should find 9-12 work better

Thanks, after trying in the dark for so long now I have got so much valuable information!

So what setup do you suggest? Try to use outputs 9-12 for dshot with tm (over serial) and say 1-4 for the other motors, also dshot but the tm won’t work? How to configure all this? Set up the blh_mask for the channels 9-12?

Is there any schematics available for Nora and Nora+? Maybe it is possible to remove the problematic chip and connect the paths?

If you are so familiar with the Nora internals, maybe you know what is the pin setup for the battery2? (current and voltage)?

No schematics

I checked my notes - on the Nora 1-8 have unidirectional level shifters whereas 9-14 do not. So 9-14 should work with bdshot. 1-8 should work with dshot if they do not it would be good to confirm. Are you able to confirm that 9-14 work and 1-8 do not? You can do this by using SERVO_BLH_OTYPE and SERVO_BLH_MASK, you would also need to shift the servo motor functions to 9-14

From the hwdef, these are the generated analog pins:

#define HAL_ANALOG_PINS { \
{  4,    3.30/4096 }, /* PC4 SPARE1_ADC1 */ \
{  5,  3*3.30/4096 }, /* PB1 FMU_SERVORAIL_VCC_SENS */ \
{  6,    3.30/4096 }, /* PF12 RSSI_IN */ \
{  8,  2*3.30/4096 }, /* PC5 VDD_5V_SENS */ \
{ 11,  2*3.30/4096 }, /* PC1 SCALED_V3V3 */ \
{ 16,    3.30/4096 }, /* PA0 BATT_VOLTAGE_SENS */ \
{ 17,    3.30/4096 }, /* PA1 BATT_CURRENT_SENS */ \
{ 18,    3.30/4096 }, /* PA4 SPARE2_ADC1 */ \
}

Starting to reconfigure… but how do I know if the ESCs connected to 1-8 support DSHOT? By providing the bidirectional dshot telemetry? I’ve suggested the BLHELI_32 developers that it would be great to be able to signal with the configurable LED output if say the ESC has entered the DSHOT mode, that it provides the bidshot or serial port telemetry etc.

Here is a picture of the Nora motherboard:

Is the level shifter implemented by one of the chips on the right side?

Thanks for the hint about the analog pins, going to check also this.

No idea about the internals.

You can only get telemetry with dshot - whether via serial port or bdshot

I know, but how should I recognize that I’ve got no dshot on 1-8? I’ve asked if this should be by not providing ESC telemetry for those outputs?

You won’t get telemetry over the serial channel if its not dshot

If I get the ESC telemetry, it’s certainly dshot.

But if I get no ESC telemetry, does it mean that there is no dshot? If the ArduPilot’s banner message shows DSHOT for the output, does it mean that at least in the FC->ESC direction the protocol is certainly DSHOT? (if the ESC reacts to the control)

Is it possible that at some point during the flight the dshot degrades because of those level shifters, and the control is lost?

Really I’m not sure - the only reliable way to tell is to put a logic analyzer on the signal

I’ve done the following setup:

outputs 1,2 - motors
3,4,5 - other functions (the gear, triggering photos)
9-14 - motors

And in the banner message I’ve got:

DSHOT600: 1-4, 9-12
PWM: 5-8, 13-14

And no dshot telemetry. Maybe I’ll give it a try with the bidirectional dshot. But still it is surprising why there is no DSHOT on 13-14 and there is on 3,4 - maybe they share a timer with 1,2?