Flight Controllers, Dshot and ESCs


As is stands right now as of 4.0.3 and below, if you have a Flight controller with a IOMCU you will not get Dshot XXX from the Main 1-8 motor pins. It is only available on the AUX ports.

Copter 4.0.3+ will show you what you are actually outputting regardless of what you have selected as the protocol for the ESCs.

The message looks like: 3/18/2020 11:30:35 PM : RCOut: PWM:1-8 DS150:9-14

If your flight controller does not have a IOMCU then you should be able to get Dshot on most or all of the main and aux pins.

For example, If you have a Cube type flight controller. For example a Cube Orange or CUAV V5+ you will only get Dshot from the aux pins. The cube Orange (most likely black as well) will give you 6 Dshot outputs on Aux 1-6. The CUAV v5+ will only give you Dshot on Aux 1-4, You will not have Dshot on AUx 5 and 6 due to a hardware conflict. Dshot is also what requests the telemetry from the ESCs.

I will update this section as new data is available

Start of Original Message__________________________________________________

There doesn’t seem a section for this topic, so I figured I would throw it here.

As far as Dshot and BLheli_32 it seems like there is so much mystery and lack of info, so I will try to put what I have learned in this thread…

The use case is to use Dshot on a copter with more than 4 motors.

Seems like from what I have been reading and researching there is no way in a FMUv5 FC with on board IO Co-processor to get more than 4 Dshot outputs. Not sure about the FMUv7 in the durandal, cube orange or the mRo Control Zero F7. I would have no issue buying these to test.

I have been using the CUAV V5+ flight controllers and aux pins 1-4 can support Dshot but Aux 5 and 6 can not due to a hardware conflict.

The other flight controllers with no IO co-processor allegedly support more Dshot outputs, but you sacrifice the redundant IMUs and other features. I will test with my CUAV Nano v5 and report back.

The new RCOU of Arducopter 4.0.3 will show you exactly what the ESC protocol is being outputted by the flight controller.

Has anyone verified if the Cube black or Orange will support 6 or more Dshot outputs?



AFAIK a cheap Pixhawk 2.4.8 will output Dshot on the 6 Aux channels. I don’t have a Hexa to test it but this is the Banner msg for that config:

Cube Black Includes fmuv3 in the Hwdef so I wouldn’t think it would be any different in this regard.

1 Like

Thanks @dkemxr

I thought the cube black was fmuv4? Might not matter though

Although I think only the fmuv5 has the issue with aux 5/6 that have a conflict.

It funny you buy the latest and greatest fmuV5+ and 7 and you have more limitations than previous hardware.

Hwdef for Cube Black:
-# for The CUBE Black and the Cube Purple hardware
-# this is based on fmuv3, but with vendor specific USB IDs

include …/fmuv3/hwdef.dat

1 Like

Looks like the Black supports Dshot without telemetry on m1-8 and with telemetry on a1-6

Might be an option

I don’t think you can get Dshot out of the IOMCU (1-8).

according to Phil you can. But I think for the time being I and just going to use my CUAV v5 nano FC. It supports dshot on all outputs, which I verified last night.

One other thing I noticed and validated:

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

I don’t have a Cube Black to test but if you force Dshot to channels 1-8 on a Pixhawk the Banner message still reports PWM for those channels. Unlike the Aux channels of course. And because this message is low level I would believe it. But maybe there has been some action on this recently. It was mentioned on Gitter months ago about workng on Dshot form the IOMCU but I haven’t heard anything about it recently. There would be a lot of happy campers if that was applied across the board!

Yes, I recall the discussion about ESC telemetry vs. ESC protocol. Quite interesting.

I remember that Gitter topic coming up, but sadly that was months and months ago and no movement was made on it, nor did I see it get brought back up.

I agree, as we march forward into 2020 and beyond, the old analog ways need to clear the way for all digital communications :slight_smile:

And CAN is great for stuff where the ESCs are all together, but in large crafts where the ESCs are under the arms, CAN doesn’t make sense due to the cable routing

This is where Phil mentions Dshot on the main ports

1 Like

Huh, that’s news to me. The Wiki, which was recently updated in this regard, says not for boards with an IOMCU on the main outs and specifically the Cube is mentioned. As we know the Wiki often trails updates but I would think there would be loads of posts about Hex’s and Octa’s running Dshot on Cubes. But hey, learn something new every day :grinning:

@dkemxr I know right? I am temped to buy one just to check

Dshot is not supported by the IOMCU on any boards at the moment. AUX pins only.

Yea,I think if this had changed it would be all over the place. There were some other things in that Cubepilot thread that may have confused the matter. The point about RC Output data shown in logs when using Dshot for example. That is clear now.

Ugh so much wrong information floating around :roll_eyes: . I was also under the impression that only the FMU/aux pins could support Dshot. Is it only the FMUv5 that have the hardware conflict on Aux pin 5/6?

In other words, would a Cube Orange support all 6 outputs as Dshot?

Perpahs someone with a Cube Orange on the bench could set these parameters and see what Banner Message is produced :wink:

Dshot on Aux

1 Like

Well I just bought a Cube Orange so I will know Wednesday :grin:

This is WIP for dshot on iomcu: https://github.com/ArduPilot/ardupilot/pull/12604


Mark that’s awesome. Any idea when beta code would be ready? Would love to test this out


I can try to generate a binary for you if you tell me which FC you want to use (cube orange?).