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.
The following joysticks have been tested and are supported:
- Logitech F310 (wired)
- Logitech F710 (wireless)
- Microsoft Xbox One controllers (wired and wireless)
- Sony PlayStation 4 controllers (wired only)
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:
- Leo Bodnar Electronics
- Ultimarc
Below are some examples of custom joysticks created by ArduSub users.