Link Search Menu Expand Document

PX4 connectivity

PX4 uses the Mavlink protocol to communicate to the outside world (Including QGroundControl). Generally this is handled over an IP link when using VOXL2. PX4 on VOXL2 utilizes a custom Mavlink router called voxl-mavlink-server to route all Mavlink traffic correctly.

Enable Daemon

voxl-px4 communicates over IP to the outside world using the voxl-mavlink-server daemon. To enable, run the following:

voxl-configure-mavlink-server factory_enable

Example output from running command for reference:

voxl2-mini:/$ voxl-configure-mavlink-server factory_enable
wiping old config file
Created new json file: /etc/modalai/voxl-mavlink-server.conf
enabling  voxl-mavlink-server systemd service
Done configuring voxl-mavlink-server

IP Connection

  • To get an IP link on VOXL 2, see here
  • To get an IP link on VOXL 2 Mini, see here for options to get a USB connection going, and use some network adapter like a WiFi dongle (e.g. awus036acs).

Note: the adb connection does not pass IP traffic and can’t be used for this link.

GCS Connection using WiFi - Using SoftAP

If using a WiFi dongle, an easy way to get a connection going is to setup VOXL 2 / VOXL 2 Mini as a Soft AP (access point) and have your host computer connect wirelessly to it.

When in this mode, VOXL 2 Mini will provide your host PC an address of 192.168.8.10 by default.

The default IP address voxl-mavlink-server will use for the main connection to QGC.

So by default, a connection between VOXL 2 / VOXL 2 Mini and your GCS should be facilitated in this mode.

GCS Connection using WiFi Station Mode or Ethernet Adapter

If using WiFi in Station Mode or an Ethernet Adapter, connect VOXL 2 / VOXL 2 Mini to the same network as your QGC and update the configuration file’s primary_static_gcs_ip field at /etc/modalai/voxl-mavlink-server.conf

Differences

When using PX4 on VOXL2 it is important to note a few differences to other micro-controller based platforms such as Pixhawk.

  • You cannot connect to QGroundControl via the USB-C port
  • The Mavlink console in QGroundControl does not work with VOXL2
  • Software update is not handled via QGroundControl. It is done via Debian packages.