Guide to enable LTE connection on the drone

Follow this guide to setup an LTE connection on a drone with the MRS UAV System.

HW setup

This guide is described for device LTE EG25-G Mini PCIe.

However, there are several types of devices and ways to connect them. The devices mainly differ in setup requirements (e.g. need for special drivers) and reliability. It can be summarized like this:

  • The easiest option is to directly have a computer with a SIM card slot. However, this is not the case for most mini computers that are used on the drones.

  • Using an LTE module (as we did) with Mini PCIe. There are computers with free Mini PCIe slots, but NUCs used in MRS don’t have them. Therefore you can Mini PCIe to USB converter, such as this one and connect the LTE module through it.

  • There are also other devices that use different connection options, such as USB modules with SIM card slots. The Mini PCIe to USB converter we used also included a SIM card slot, but the device was not recognized automatically.

⚠ WARNING: If you are connecting the LTE module through the USB, be careful about the quality of the cables and loose USB ports. We experienced serious issues when connected like that. It caused not only a loss of the internet connection but also a restart of the computer’s USB hub, which affected the Pixhawk (jumped out of offboard control to RC). It could have a different explanation (faulty converter’s driver), but quality cables should be used anyway (we used an old USB 2.0 extender). The exact reason of our issues was not found.

SW setup

The MRS UAV system uses systemd-newtorkd to control network connections. networkd doesn’t support the modems option. Therefore NetworkManager needs to be used. It is disabled by default. Use the following command to start it:

sudo systemctl start NetworkManager  -- to start program in current session
sudo systemctl enable NetworkManager -- to start automatically on boot

It also requires a modem-manager to be installed, but this should already be done.

Netplan config

Before updating the control, you have to find the device name. To do that, call:

nmcli device

this will output all available devices for NetworkManager. In our case, it was called cdc-wdm0. Once you have the device name, you can update the /etc/netplan/01-netcfg.yaml. First, replace the renderer, which selects a program that manages the connections, with NetworkManager.

  renderer: NetworkManager

Then, add the following to the end of the config, such that modems is aligned with ethernets and wifis:

  modems:
    cdc-wdm0:
      apn: internet
      dhcp4: yes

This code is a configuration that we used. It was used with a SIM card that doesn’t require a PIN code. For more complex configuration, please refer, for example, here. Or google a bit.

Remote access

To enable remote access to the device, use a program like Tailscale. The configuration is straightforward and ssh configuration between devices can be enabled. Once you have an account, both devices (yours and drone) need to be signed into and automatically should see each other.