Companion Web Interface

The Companion computer(Install instructions) hosts a useful web-interface with different pages for accessing parameters and functionalities associated with Companion. When a Companion computer is connected to a ground computer, a user can access the web-interface on Users can access Network, System, Camera and Routing pages alongside a number of other user friendly options as described below.

Companion Header

The web interface header displays the Companion software version. It provides navigation links to the main configuration pages available in the web interface, options to restart and shutdown the Companion computer, and a switch to enable advanced options on the current page (if available).


The web interface by default opens at the Network page. This page allows users to:

  • Configure WiFi
  • Check WiFi and Internet Status
  • Configure Ethernet IP address
  • Test the network for Uploads and Downloads
  • Ethernet network configuration (advanced): The Ethernet interface can be configured as DHCP Server, DHCP Client or Manual (static) mode.
    • Manual: Manual: The interface is configured with a static IP address. This is the default configuration. The default IP address is
    • DHCP Server: The interface is configured as a DHCP server on the 192.168.2.x subnet. The interface IP address will be in this mode.
    • DHCP Client: This is useful for connecting to a router.


The System page provides the following functionalities and features:

  • Update the Companion software
  • Display system resource information
  • Display the active services
  • Display detected/recognized devices

  • Display current ArduSub firmware version on the autopilot
  • Download, Update, or Restore pixhawk firmware
  • Download a system log for the web interface


The Camera page allows the user to view and make changes to:

  • Detailed camera settings including Brightness, Contrast, Hue, Sharpness, etc. among others
  • Video Streaming settings including selecting a video device, format and frame size


The Routing page can be used to route serial communications between serial devices and network ports. It can be used to create one-to-one, and one-to-many connections. The configuration on this page is persistent and loaded at boot. The configuration is stored in the file ~/routing.conf.

This program is written in python and is not optimized or well-suited for high-bandwidth applications. The maximum recommended baudrate is 115200. If high bandwidth routing is required, standard linux tools like tty, socat and netcat should be used instead.

To use the companion routing tool:

  • create one or more endpoints with your desired configuration
  • add connections between the endpoints as you want
  • remove connections by clicking the 'broken link' button next to the configuration
  • remove endpoints by clicking the 'trash can' button next to the configuration


An endpoint can be a serial port or a network port. Create an endpoint by entering the desired port settings, and click 'create link'.

Serial Endpoints

Select one of the available serial ports from the drop down list, and choose the baudrate to use. The serial port must not be in use by another program! Click 'Add Serial Endpoint' to create the communication endpoint.

UDP Endpoints

Enter the ip address and UDP port to use. If the ip address is '', it will bind the local port as a server. All other ip addresses will result in a client connection. Click 'Add UDP Endpoint' to create the communication endpoint.


Endpoints can be connected bidirectionally (typical), or with a one way connection. To begin routing communications between endpoints, choose the endpoints that you wish to connect, the direction to route communications, and click 'connect'.

Other Pages:

Apart from the four pages that can be accessed via direct links, Companion web interface also provides a few other pages for interacting with some more features.


MAVProxy page allows the user to:

  • Adjust the MAVProxy settings
  • Restart or Restore MAVProxy


Git page is used for:

  • Displaying the current head
  • Adding remote repositories
  • Updating the system to development branches


Waterlinked page can be used to:

  • Setup waterlinked underwater GPS driver
  • Restart driver

Terminal over browser

Terminal page can be used to:

  • Interact with the Companion from a web browser using terminal. (Useful for those who do not use Ubuntu/Linux)

File System Access

File Manager page can be used to:

  • View, Download, delete, move, rename, or archive the files on the Companion computer directly from the web browser

Sponsored by Blue Robotics. Code released under the GPLv3 License. Documentation released under the CC-NC-SA 4.0.
Submit a Documentation GitHub Issue here to report any errors, suggestions, or missing information in this documentation.
Submit an ArduSub GitHub Issue here to report issues with the ArduSub software.

results matching ""

    No results matching ""