Flight Controller servo 'group' question

I have a Matek H743. The servo outputs are divided into groups of 2 or 4. PWM and DShot cannot be mixed within these groups.
Is this a hardware function of the board or an Ardupilot thing? I see on the same board Inav has different mapping so perhaps not hardware?
I ask because my next VTOL will be a 4+1. I would like to have ESC telemetry on all motors so if I use a 4 group and a 2 group, there will be one wasted servo channel allocated to DShot.
I think many VTOL configs are 4+1 so would it be possible to have a different ‘build’ for a group arrangement with a single servo group?

Well, you could try looking for a free timer channel or drop something else that uses a timer channel. Current configuration was likely chosen as optimal in terms of flexibility, you shouldn’t run out of servo pins on most builds even with one lost to DShot assignment.

1 Like

Otherwise, you could use a DroneCAN to PWM adapter to use additional PWM outputs.
https://www.mateksys.com/?portfolio=can-l4-pwm
It should work, but I haven’t set it up myself yet because my 4-1 quads all work fine with the 13 PWM outputs.
Rolf

1 Like

Thats a useful thing. Thought there may be something like that but didn’t find it last try.
BTW, if you build 4+1 VTOL do you just set the thrust motor as motor 5 and the system knows what its for? I have built VTOL 3 and 4 motor but cant find much about setting up the thrust motor.

The forward thrust motor is simply controlled by SERVOx_Function 70 (Throttle).

Rolf

2 Likes

Not really different. Same groups. Only difference I see is Ardupilot call the 1st 2 channels Timer8 and Inav calls them Timer3.

2 Likes

Could not get DShot to work on 11-12.
See pic. I colored the Dshot green but it would not accept this arrangement so have made 1-2 DShot and it seems happy. I dont know is there is a requirement for them to be adjacent


?

No, just PWM 9-12 aren’t bidirectional capable as DMA is assigned to LED output (PWM13). See MatekH743 hwdef file. You could try creating one more suitable for your needs to :sweat_smile:.

1 Like

Thanks for that. Even when I do some research to avoid looking silly, there is always something i overlook.

Just discovered the existence of FETTEC onewire ESCs and thought this could be a solution to free up some servo outputs, but…
If I usderstand it correctly, you still have to allocate servo outputs to the motor function even though they are not wired up?
Im guessing that means that these empty outputs are no available for anything else?
I started down this road when I realized that there can be only one BL_POLE count and I have a different motor on the tail of my VTOL 4+1.

The ESC signals are Muxed on a Serial port, the outputs are the same.

So it wont free up the servo channels but FETTEC onewire will allow 2 different pole counts to report correct RPM. Is that correct?

@amilcarlucas could answer that but it doesn’t look like it. There is only one global parameter for pole count SERVO_FTW_POLES.
Not sure if it solves the issue at hand but how about some DroneCAN ESC’s? I was just looking at the VimDrones units which look interesting. They run AM32

So far I have fitted one 4in1 Blheli and a single blheli ESC for the tail motor.
Im in the market to upgrade the 4in1. Cant find any 4in1 dronecan ones and Im not going to change the design to fit 4 separate ones.
If I get a FETTec 4in1 then it looks like it has a separate pole count parameter so I can get correct RPMs on different motors, possibly?

I think I see your point. The Fettec 4-in1 would be used for the VTOL Motors with the pole count defined by SERVO_FTW_POLES parameter and the tail motor on a single ESC with the pole count defined by the SERVO_BLH_POLES parameter?

1 Like

Exactly. It would also be nice to free up some servo outputs but it looks like FETtec wont do that. Its a shame there are no Dronecan 4in1s, at least none that I can see. I wonder do they still require servo outputs to be allocated?

I waffle in boring detail about my latest VTOL designs here.

Well, that sounds unique (Fettec and a single BLHeli ESC).

Yes with this parameter:

  • CAN_D1_UC_ESC_BM - bitmask that determines which autopilot servo/motor output signals are sent to the DroneCAN ESCSs
1 Like