Servers by jDrones

Looking for specific guidance on setting up Dshot on the BBB

I’m looking at the documentation for Dshot implementation with Ardupilot, and it all seems to be geared to the Pixhawk style of ready-made autopilots. Does anyone out there with BBB and Dshot experience have a moment to tell me how to hook up and configure this thing? I’m looking to do Dshot 150 on either GPIO pins (from the GPIO connector on the board, which seems to have 4 available) or the dedicated servo pins (preferably the former, in preparation for a quad-plane with a lot of control surfaces) AND ESC telemetry to one of the UART ports (probably UART0).

Here’s all the documentation I’m finding, and it’s as clear as mud for what to do on Linux:
https://ardupilot.org/copter/docs/common-dshot.html#dshot
https://ardupilot.org/copter/docs/common-dshot-blheli32-telemetry.html

Am I missing some document that makes this easier?

Thanks in advance for your help!

Edit: I forgot to add that I have checked, and my BLHELI_32 ESCs are capable of up to Dshot 1200, so I do in fact have compatible hardware.

DShot is only supported on ChibiOS boards - no Linux I am afraid

Darn. Can I PWM over GPIO then? I’d love to accomplish something towards my quadplane goals.

PWM should work, I can’t comment on the setup as I know nothing about the BBB

Hi,

on beableboards just pwm is available, once it’s use PRU to generate the PWM signals.
You can try write dshot code for pru for that.
The main problem using gpio pins to generate pwm or even dshot pulses will be the latency and the speed - check the PRU Cookbook - https://beagleboard.org/static/prucookbook/ for mor information, or check the gitter channel for beagle boards - gitter.im/mirkix/BBBMINI

I see. I may try to write Dshot code for the PRU then, as I will want it to talk to other things too. I’ll look over the info you sent to get started, but I’m sure I’ll have plenty of noob questions for the gitter chat as well.
Is there any point in adding dedicated chip(s) for creating Dshot from values passed over SPI or UART? I can program a little microcontroller to do that easily enough, and that would get me the extra outputs I’ll need later on.

Servers by jDrones