Bi-directional dshot support

Yes ! of course yes! I’ll take a look at what I don’t have

I have disabled serial 2,4,6,8 i.e. uart 1,3,4,5 . servos are used only 1.2.3.4.5 , the rest can be turned off. as well as the pin of the LED (13 servo) is involved, and switching cameras.

but I myself do not understand how to do it, can you assemble such a firmware?

The issue is, if I cannot figure out pin allocations that work for most people then it’s not worth doing it - but I will have a look

1 Like

Also something to note that I found out from APD is even boards/ESCs that support DShot don’t support BDShot out of the box. It has to be reflashed to a newer beta version in order to use BDShot.

Just a little report.

I am building a CoaxCopter using Arducopter 4.1.4 on a PixRacer R15 with BDshot enabled. However, until recently, I did not exploit the BDshot feature, since my ESCs do not support it with their default firmware, and updating them to Bluejay, for some reason, did not work.

However, I took it seriously a few days ago, and it was unexpectedly difficult to get right. Of course the ESCs were Bluejay-ed on the way to it, after semi-chaotic messing with output types and masks. In fact, one of the key problems was that:

  • BDshot works only for DMA-enabled outputs;
  • The pixracer-bdshot firmware enables DMA only for outputs 1-4;
  • CoaxCopter wants the motors to be at outputs 5-6 by default.

Once this all was recognized, everything got to work (I just had to resolder the wires, since, in order to save some millimeters, I had to tear off the pins from the PixRacer and solder wires directly). But the lack - or even absence - of error messages complicated the matter quite much.

One of the most misleading things was that when BDshot was disabled by zeroing the mask out, the ESCs responded and could run motors, but when set to the intended values, they just did not initialize. The reasons are clear in the hindsight, but certain error messages - like “running BDshot on non-DMA outputs is unsupported” - will probably be helpful for some people.

hello, tell me when to wait for the firmware? and is it worth the wait? with bdshot for f765-wing.

Or you could just buy a H743 Flight Controller and sell that F7 to a Plane guy…

have you seen how much it costs? nightmare how expensive. besides, everything will have to be re-soldered, adjusted, so much time will be spent.

Sure I have, I have Matek H743 Flight controllers. They cost ~$5 more than a F765-Wing. Which is EOL.

for me it now costs 2 times more expensive, I think you know why.

Hi @andyp1per
May I have a question about code?
In master branch ardupilot/hwdef.dat at 73eabb1fd09d1ef28c6692d6746e4eeec4d027df · ArduPilot/ardupilot · GitHub

Because we are using bdshot in this hwdef, It seems not necessary to have serial7 for esc telem?

Thank you very much

bdshot only does RPM. You can still get V, Temp over the ESC telemetry.

1 Like

Thank you very much for explaining it. :slight_smile:

Hi.

I’m using bdshot on mamba f405 mk2 and from rpm logs i’m see that rpm drops at random time for all motors - what this? bdshot or log bug?

bdshot doesn’t work all of the time because of noise on the line. What Err values are you getting on these ESCs?

This is good ?

Under 1% is what you want - so yes

do these errors affect the filtering in flight?

Zero values are ignored. There might be a little delay, but should not be an issue