Futaba SBus/SBus2 servos accept the serial SBus protocol and can be controlled by ArduPilot once connected to the flight controller’s “SB” port or any other serial port. Up to 16 servos can be daisy chained together meaning that instead of each servo being directly connected to the flight controller, only a single serial connection from the flight controller is required.
The transmission rate is 100K baud.
Where to Buy¶
Configuring the Servos¶
Each servo’s ID needs to be set to a number from 1 to 16. The number chosen should correspond to the servo number used to configure and control the servo from within ArduPilot. For example if the ID is set to “9”, the SERVO9_MIN, SERVO9_MAX, SERVO9_FUNCTION, etc parameters will be used to configure the servo.
- Connect the servo the Futuba CIU-3 USB Interface dongle (online manual) and plug the dongle into a Windows PC. A prompt should appear to download and install the required drivers
- Download and install the S-Link software (search for “S-Link” here)
- Use S-Link to set each servo’s ID (online instructions)
image courtesy of Futaba.com
Connecting Servos to a Flight Controller¶
If using a Pixhawk connect the servo to the “SB” port on the back of the flight controller. For Cube autopilots use the “SBUSo” port. For other autopilots without these connectors see the instructions below
SERVO_SBUS_RATE controls the update rate to the servos. The default is 50 Hz but can be set to any value in the range of 25 Hz to 250 Hz
Connecting Servos to a Serial Port¶
SBus servos can also be controlled from any of the flight controller’s serial ports. The protocol uses inverted logic levels (unidirectional: output only) meaning an inverting cable is required when using a standard serial port. Below is a diagram showing a simple NPN transistor inverter which will suffice: