Copter-4.2.0-rc4 available for beta testing

Flashed - I did not get the same sequence of tones - the first attempt I just got the music. First arm, nothing, second arm, 3 motors span. Changed MOT_PWM_TYPE to 5, got one more tone (but not the normal 3 beeps). Nothing on first arm, second arm, all 4 motors span. If that is repeatable, then that is at least predictable and usable. Will try again…

Apologies if I had not used the bdshot version - I seem to remember trying it at some point and getting no joy, so have not tried it since. Tried it again with MOT_PWM_TYPE set to 5. The extra tone I get is a bi-tone. Armed and then waited a few seconds, and then all motors span, so the bdshot firmware seems to work with those settings.

By the way, in case it helps we recently updated some relevant pages on the wiki:

I think it’s a fairly complex topic because of all the variations of DShot and BLHeli but I hope these pages help users new to DShot and BLHeli at least (which you’re probably not but just in case).

Here are standard/bdshot builds for MatekH743 with some extra options:

The parameter you need to change is SERVO_DSHOT_OPTS

  • Bit0 - enable closest match frequency prescaler
  • Bit1 - use bitwidth/bit0/bit1 of 20/7/14 (4.1 behavior)
  • Bit2 - use bitwidth/bit0/bit1 of 8/3/6
  • Bit3 - use bitwidth/bit0/bit1 of 11/4/8

So to go back to 4.1 behavior you would set:
SERVO_DSHOT_OPTS=2

I’d love to know what combination works for you - the bitwidth options are mutually exclusive, so the possible valid permutations are:

0,1,2,3,4,5,8,9

Note that “works” will also vary with dshot bitrate. So if you find a combination that works, try it at other dshot bitrates

Thanks, will let you know how I get on.

@andyp1per,

Yes, this is F427 pixracer. ESC is LittleBee BLHeli-s SPRING 30A. DJI 2312E motors + 9" DJI props.
I’m ready to test custom firmware to spot the issue. But mainly during the weekends :wink: This hardware setup is working well for me since 3years and I have been following arducopter versions for that time.

@rmackay9,
Thank you for explanation, looking on it everything seems clear. Only one doubt arises. I believe many pilots use QGroundControl so the issue should be spotted earlier. Maybe it is something specific to my pixracer setup still and usage of ESP8266 wifi for mavlink. I have reset copter parameters just a 2 weeks ago for the very first time since initial setup 3 years ago. I did reset when upgraded from 4.0.7 to 4.1.5 and issue appeared. On version 4.0.7 I had SERIALx_PROTOCOL=Mavlink1 and after upgrade SERIALx_PROTOCOL=Mavlink2. Fortunately I did backup of parameters and that is how I spotted the issue (diff on parameters backups).

I did not understand the bitwidth options, so I just tested it against the valid permutations. Firstly I set MOT_PWM_TYPE to 6 for Dshot600. I then set SERVO_DSHOT_RATE to 3 initially and obtained the following results for each of SERVO_DSHOT_OPTS:

OPT
0 No tones 2/4 motors spun on arming
1 No tones No motors spun on multiple arm attempts
2 Triple tone All motors spun on arm
3 Triple tone All motors spun on arm
4 No tones None on first arm, 2/4 on second arm attempt
5 No tones No motors spun on multiple arm attempts
8 Triple tone All motors spun on arm
9 Double tone All motors spun on arm

SERVO_DSHOT_RATE set to 4:

OPT
0 No tones None on first arm, 3/4 on second arm attempt
1 No tones No motors spun on multiple arm attempts
2 Double tone All motors spun on arm
3 Double tone All motors spun on arm
4 No tones None on first arm, 1/4 on second arm attempt
5 No tones No motors spun on multiple arm attempts
8 Double tone All motors spun on arm
9 Triple tone All motors spun on arm

@andyp1per So it looks like minor differences between DSHOT_RATEs 3 and 4, but SERVO_DSHOT_OPTS 2, 3, 8 and 9 seemed to work.

I have not flown this build - is it as safe and valid as the 4.2.0-rc4? Presumably I should look to keep the MOT_PWM_TYPE to 6, SERVO_DSHOT_RATE to 4 and then choose a SERVO_DSHOT_OPT - 9 on the basis that I seemed to get most tones from the ESCs? Or set it to 2 for 4.1 behaviour?

Sorry, when I said dshot bitrate I was referring to MOT_PWM_TYPE

So I am most interested in option 8 at this point. Do you get good behaviour with this and dshot 150, 300, 600 and 1200

@andyp1per
SERVO_DSHOT_RATE = 4
SERVO_DSHOT_OPT = 8

MOT_PWM_TYPE
4 No tones No motors spun on multiple arm attempts
5 Double tone All motors spun on arm
6 Double tone All motors spun on arm
7 No tones No motors spun on multiple arm attempts

So good for 300 and 600, but not for 150 and 1200. Who uses 150 these days? I have no idea if my ESCs work at 1200 - never tried it.

dshot 150 is recommended for longer cable lengths

Can you try dshot 150 with some of the other options to see if any work? e.g.

SERVO_DSHOT_OPT=0,1,2,3,9

there’s a possibility that the prescaler fix affects dshot 150

Hi @andyp1per

No joy I am afraid…

SERVO_DSHOT_RATE set to 4:
MOT_PWM_TYPE set to 4

OPT
0 No tones No motors spun on multiple arm attempts
1 No tones No motors spun on multiple arm attempts
2 No tones No motors spun on multiple arm attempts
3 No tones No motors spun on multiple arm attempts
9 No tones No motors spun on multiple arm attempts

SERVO_DSHOT_RATE set to 3:
MOT_PWM_TYPE set to 4

OPT
0 No tones No motors spun on multiple arm attempts
1 No tones No motors spun on multiple arm attempts
2 No tones No motors spun on multiple arm attempts
3 No tones No motors spun on multiple arm attempts
9 No tones No motors spun on multiple arm attempts

Same result for regular and bdshot?

Thanks - pretty sure I have that ESC, I will set up a test at the weekend

Only tested it on the .apj you sent me.

Can you try this version?

1 Like

Will try and make some time over the next day or so (wife is back and her aunt have turned up so I have to be attentive). Same tests for Dshot150 I presume…

Yeah option 8 is looking good for me - works well on BLHeli32 on Pixracer and MatekH743 and also appears to work well on a littlebee spring with BlueJay

@andyp1per

New version works with DShot150! I haven’t notice any issue related to motors now.

I tested new firmware with 15min flight on small backyard only. But still I have tried to push motors as much as possible in that conditions, mainly with up/down rapid moves and short back/forward shakes.

Before firmware update I reverted settings from PWM to DShot and then tested the issue. It still existed. After update motors armed w/o any errors so I went for testing.

Great thanks.:slight_smile:

Good stuff, thanks for testing

1 Like

Hi @andyp1per

I tried to load that firmware, but got an error message.
Copter firmware error