The ArduSub control system is made up of three major software components:
ArduSub Autopilot Firmware: ArduSub firmware is the autopilot software responsible for processing pilot input and controlling the ROV. ArduSub is the 'brains' of the ROV.
Companion Computer Software: Companion Computer software relays communications between the autopilot and QGroundControl via Ethernet communications. The Companion software also streams HD video to QGroundControl.
QGroundControl Software: QGroundControl is the user interface for operating the ROV.
Here is a diagram of what software piece is loaded onto which hardware component and their basic connections:
Here is a technical block diagram of the main software components and their interactions:
To use the above diagram, you can scroll to zoom, click and drag to pan, and double-click to focus onto an element. Some elements have a (square) link in their top right corner, which can be clicked to go to the relevant documentation/product page. Optional components are shown as faded/translucent.