PWM output on Pixhawk4 V5 Question

Hello ALL Love the site this is my first post (well on here)
I have a quick question as I am reading through the information on the Pixhawk4
I have noticed that there are two sets of PWM outputs 1-8 Main
1-8 AUX
My questioni being how come Only the first 4 of the AUX are DSHOT capable
and can they be used for quadcopter esc control or do I HAVE TO use the main 1-8
only 4 motors FYI
building a new UAV
I have most of it built but it currently has a radiolink PX4 mini on it and I HATE IT
so new Holoybro Pixhawk 4 on the way hopefully by sun then order 2 more if they are available
Thank You

I can see why the 1st 6 Aux outputs can be used for Dshot, not sure why it’s only 4. But in any case if you are building a quad and want 4 Dshot outputs you must use the Aux outputs.

Hello thank you for reply,
So it is possible to use the AUX outputs for the 4 main motor outputs( i.e. for primary flight
My build is not going to need it but as I was reading through the Ardupilot pages I saw this
Seeing I am building mostly large stable copters I will have no need for DSHOT or turtle mode etc… but was just curious why the developers didnt enable the main outputs to be able to do this
SO in the end you can re map the resources to use DSHOT if you really needed to
Thank You

Sure it is, no problem with that.

This is not a simple task and far from just “enabling it”. There was an attempt and the code is floating around. I tried it and it didn’t work. And if you are thinking “how does Betaflight do it”, Betaflight doesn’t run on any Flight Controllers with an IOMCU.

No Turtle Mode in Arducopter…

Completely understand please dont take it as complaining about anything I was only curious as to why being that DSHOT is so popular these days . I was initially under the impression that the whole series of pixhawkxxx could only use opto for esc;s
I dont fly the smaller faster copters so never need dshot anyways LOL
Thank You

Dshot has other advantages. You have to use it to get ESC telemetry which can be very useful. Voltage, current and RPM typically. For the Dynamic Notch Filter Motor RPM from ESC telemetry is a better reference than throttle and the Notch Filter is good for all size craft. Using it is pretty much standard practice for tuning now. If you want to run Dshot and don’t have ESC telemetry available (short on UARTS, etc) then bi-directional Dshot will provide motor RPM on the ESC signal line. The same implementation as Betaflight. This is still a work in progress but available for several FC’s now.

ok OK I see much better the qualities of using Dshot I guess
So reading correctly the main 4 output do support One shot is this correct and is it worth using ?

Yes, Oneshot and Onshot125. I suppose it’s worth using, control latency is shorter but in terms of Flight Performance it’s perhaps not noticeable. Maybe Mr. Steel could tell the difference :grinning: But, no reason to not use it!

LOL Yes perhaps a pilot of that caliber would notice certainly not I LOL
Thank you

Here’s the info from the Hardware Def for the Pixhawk 4. DShot capable outputs can depend on how the manufacturer designed the circuitry and which timers/DMA and so on are available. I’m still not exactly sure why only 4 are supported but we can presume a hardware design limitation.

The Pixhawk4 supports up to 16 PWM outputs. First first 8 outputs (labelled “MAIN”) are controlled by a dedicated STM32F100 IO controller. These 8 outputs support all PWM output formats, but not DShot.

The remaining 8 outputs (labelled AUX1 to AUX8) are the “auxillary” outputs. These are directly attached to the STM32F765 and support all PWM protocols. The first 4 of the auxillary PWM outputs support DShot. {my emphasis}

The 8 main PWM outputs are in 3 groups:

  • PWM 1 and 2 in group1
  • PWM 3 and 4 in group2
  • PWM 5, 6, 7 and 8 in group3

The 8 auxillary PWM outputs are in 3 groups:

  • PWM 1, 2, 3 and 4 in group1
  • PWM 5 and 6 in group2
  • PWM 7 and 8 in group3

Channels within the same group need to use the same output rate. If any channel in a group uses DShot then all channels in the group need to use DShot.

I don’t understand why 6 are not supported.

PWM AUX channels
PE14 TIM1_CH4 TIM1 PWM(1) GPIO(50)
PA10 TIM1_CH3 TIM1 PWM(2) GPIO(51)
PE11 TIM1_CH2 TIM1 PWM(3) GPIO(52)
PD13 TIM4_CH2 TIM4 PWM(5) GPIO(54)
PD14 TIM4_CH3 TIM4 PWM(6) GPIO(55)
we need to disable DMA on the last 2 FMU channels
as timer 12 doesn’t have a TIMn_UP DMA option

But I suppose it doesn’t matter for the application in question. If you want a lot of Dshot capable outputs this isn’t the FC to use.