Multiple Dshot ESCs support

Hi all,

I want to use a pixhawk 4 to run 12 motors with Dshot. The documentation says you can only use the first 4 FMU outputs to run Dshot due to hardware conflicts. Why is that?
and is this extendable to all FMU ports? and 4 pwm ports?

I might not need some other board functionalities.

Thanks.

Hi

This is due to a DMA conflict with the IO, and applies specifically to the PIxhawk 4.

So if not using the IO port at all, it is feasible to have all the FMU pins as Dshot connections? Would I be able to disable other functionalities say SPI to clear DMA conflicts and use a few IO pins too?

Than you again

Yes you find the DMA allocation here: PX4-Autopilot/boards/px4/fmu-v5/nuttx-config/include/board_dma_map.h at main · PX4/PX4-Autopilot · GitHub.

I’m relatively new to px4. Could you please point out what Timers are used to generate the dshot signals., and where it is implemented?. I am currently taking the file ‘https://github.com/PX4/Firmware/blob/master/src/drivers/dshot/dshot.cpp’ for reference but it only activates the first 4 fmu ports even if I change the mode to MODE_8PWM.

Here: https://github.com/PX4/Firmware/blob/master/boards/px4/fmu-v5/src/timer_config.cpp#L38. DMA for timer 4 is disabled, which disables DShot for those.

Hi again,

Is there any way of running 12 motors using dshot instead of only 8 with the Pixhawk4? If not, could I do for example 8 Dshot and 4 PWM?

Just trying to determine the hardware limits of the Pixhawk4.