Joystick / Gamepad

A joystick (also known as a hand controller, gamepad, etc) when connected to the topside computer is how the user provides control inputs to the vehicle. These inputs may be in the form of movement (stick control) or action items (button presses).

QGroundControl has support for Microsoft's XInput Game Controller API meaning any controller which supports XInput may be used.

QGroundControl supports controllers with up to 4 control axes and 16 buttons.

Supported Commercial Joysticks

The following joysticks have been tested and are supported:

Custom Joysticks

With the inclusion of industry standard drivers and APIs, custom controllers can be built using a joystick control board and standard buttons and sticks.

Marine Simulation wrote a quick tutorial on how to do so: Custom Hand Controller Design

The following control boards have been known to work:

Custom Joystick Examples

Below are some examples of custom joysticks created by ArduSub users.

Joystick Rovsim
Joystick Deltarov