How to interface a (potentially) unsupported servo?


I am pretty new in Ardupilot and in drone building in general. I am trying to build a custom plane and would like to use Feetech’s STS3032 servos.

To my understanding Ardupilot supports the following categories of servos:

  • DroneCAN Servos
  • PWM Servos
  • SBus Servos
  • Robotis Servos
  • Volz Servos

The servo I selected not in the list. However its interface is a common half duplex UART which I assume that other servos use as well. Given that, could my case lie in any of the aforementioned categories and maybe configure the Flight Controller’s UART for e.g. Volz Servos, or anything else?

If not, what would be my choices? I saw in the documentation that half duplex UART is supported by Ardupilot. So, should I

  • write a Lua script or
  • write some firmware code to interface my servos?


If you have H7 boards you can use Lua for quick and dirty solution.

It would be great if you added support for it in the code.