Same PWM to several output channels (ex: multi-engine platforms)


I wonder if it is possible to adjust ardu-software parameters (I need it for a boat, but the same question applies to a plane or a mutlirotor), in order to DUPLICATE output PWM on several PINs, so that the setting applies also to all autonomous or guided modes.

Applications might be:

  • Exotic multirotors, where for some reason the output to a motor/ESC have to be duplicated to several motors/ESCs (coaxial or not).
  • Boats with redundant trusters or rudders: one might want to send same output to all LEFT/RIGHT thrusters and an other output to all RIGHT thrusters/rudders, for example ina skid-steer setting.
  • Airplanes with 4 or more engines. For example one might want to send same differential thrust commands to RIGHT wing mounted engines or LEFT wing mounted engines.

One solution is to use “Y” wires, but it causes some problems with some ESCs: it happens that if more ESCs are connected with a simple Y wire, if one of the ESCs switches off (whatever the reason), all the ESCs connected to the same Y-wire do switch off too. This can be cured with dedicated circuits using diodes, but it’s an additional complication.
The easiest and more straightforward solution is to tell the software to duplicate the output to additional pairs of PINs, and then connect the ESCs directly to the controller, for example to free PINS on the PIXHAWK.

Is it possible to do that without modifying the code, i.e. just setting parameters ?

Thanks in advance

Hi Roberto,

For Copter I think it isn’t possible. For others I think it might be possible by assigning the same function to different output ports. I can’t guarantee it will work on all cases though, I think code hasn’t exactly been done with this use case in mind.