Doodle Labs Technical Library

GCS Profile and EUD Wizard Guide

Webpage to PDF

Introduction 

The GCS Profile is a new “Simple Configuration” profile which extends internet access to all machines connected to the Mesh Rider network. For the Wearable Mesh Rider Radio, the internet access can come over either the USB-Dev port, the Ethernet port, or the Wi-Fi interface. An example of how the network can be set up is shown in Fig. 1. 

Fig. 1 – Example GCS Profile and EUD Wizard use case 

In Fig. 1, the drone can send its live video feed to a cloud-based server so that anybody with access can view the feed in real time. Internet access is provided by a Smart Phone’s or Tablet’s cellular network connection. These Android Smart Phone’s and Tablet’s we are referring to as “End User Devices or EUD. 

Software Note: The GCS Profile is a free and unlicensed feature which is available in the February 2024 release of the Mesh Rider firmware.  

Networking Configuration 

You can choose the GCS Profile in the Simple Configuration menu in the second “Profile Configuration” at the top of the page. Fig. 2 shows the Simple Configuration menu with the “GCS with Internet Profile” selected.  

Fig. 2 – Simple Configuration GCS with Internet Profile Menu 

The GCS Profile works in 2 basic modes.  

  • 1. USB/Ethernet mode 
  • 2. Wi-Fi Hotspot mode 

These two modes are distinguished by the way that the GCS radio connects to the GCS machine. This GCS machine is typically a Smart Phone with internet access over a cellular network. It is not possible to use your Android EUD as a Wi-Fi client while providing internet access to the Mesh Rider network unless your Android EUD is rooted. If that is an option for you, then you can use the USB/Ethernet mode.   

Application Note: You can select the mode using the drop-down menu next to the field “Connect Over”.  

USB/Ethernet Mode 

Referring back to Fig. 1, this mode is designed to support the case where the Smart Device (phone or tablet) has an internet connection and is connected to the GCS Mesh Rider radio over a USB connection.  

In USB/Ethernet mode, the Mesh Rider network adopts a flat architecture as shown in Fig. 3. This is actually the same architecture used by the Mesh Rider radio in its factory default state.  

  • 1. The EUD acts as a gateway for internet traffic originating from the Mesh Rider network.  
  • 2. The EUD starts a DHCP server. All devices in the network including the Mesh Rider radios, and the Drone’s OBC receive an IP address from the EUD.  

Fig. 3 – USB/Ethernet mode network 

Application Note: The Wearable Mesh Rider radio has both a USB device port, and a USB host port.  

USB Device port 

If you use the Wearable Mesh Rider radio’s USB device port, then the Smart Device will go into USB host mode. Not all Smart Devices support this kind of connection, but tablets typically do. We tested the connection on a Samsung Galaxy S7FE tablet. 

After connecting the USB port on your EUD to the USB-Device port on the Wearable Mesh Rider radio, you should 

  1. 1. First enable the Ethernet Connection
  2. 2. In the Samsung Galaxy S7FE, this is in the Settings -> Connections -> More connection settings -> Ethernet menu
  3. 3. After that enable Tethering under Settings -> Connections -> Tethering

Application Note: These steps are shown in Android Settings in Fig. 4 and Fig. 5.  

Fig. 4 – Enabling the Ethernet Connection 

A screenshot of a computer

Description automatically generated

Fig. 5 – Enabling Tethering 

USB Host Port 

If you use the Wearable Mesh Rider’s USB Host port to connect to your EUD, then the EUD will be in USB device mode. You need to enable USB Tethering on your EUD. On the Samsung Galaxy S7FE, you then need to enable USB Tethering in menu shown in Fig. 5.  

IP Addressing 

If you are using an Android EUD, it may be difficult to find the IP addresses of devices in the network. In a rooted device, you could look at the dhcp leases file created by dnsmasq. In non-rooted devices, however, you may need to use network IP port scanner to search for hosts connected to the EUD. 

Conversely, if you have a rooted device + an USB OTG port on your EUD and further access to either a command line or shell scripting in your embedded Android EUD, you can also configure persistent usb0 static IP net-routing. The usb0 interface will not interfere with Android Network service priorities found with Wi-Fi, cellular/LTE or other eth0/eth1 interface preferences.  

Application Note: Another option is to pre-configure your drone applications to automatically connect to the gateway. Further options in this line of networking include adding static IPs to Wi-Fi interfaces. 

EUD Wizard May Not be Required -- Embedded Android EUD 

As previously mentioned, the IP addressing of usb0 can be statically routed for Android EUD such as embedded GCS designs as seen in Fig. 6 below. For efficient usb0 static IP addressing, embedded Android EUD include devices with the features and capabilities: a) devices that have rooted SBC or other rooted Android EUD, b) devices with an USB OTG port enabling an usb0 interface, and c) devices with an ability to run Linux Command Line or shell scripts.  

Fig. 6 – Embedded Android EUD and Command Line Static IP Addressing 

It is important to note that usb0 custom IP address routing generally requires root privileges which can void common Android tablet & smartphone warranties to install (i.e. install root Termux or Magisk on a Samsung Tablet). If attempting static IP routing with the eth0/eth1 interface this will still disable Wi-Fi due to Android Network service priorities (i.e. it will assume ethernet is more important so disable Wi-Fi). 

Whereas usb0/usb1 static IP routing & interfacing avoids these Android limitations. Example scripting for the IP addressing to connect to the Fig. 3 GCS-radio static IP at 192.168.43.102 (scripting on the Android EUD or Embedded GCS): 

 
ip a add 192.168.43.105/16 dev usb0 brd 10.223.255.255 

ip route add 192.168.43.1 dev usb0 

ip link set dev usb0 up 

ip rule add from all lookup main pref 1 

EUD Wizard May be Required -- Wi-Fi Production Android EUD

In most newer Android OS versions (AOSP 13+, API 33+) and some older EUD, Wi-Fi networks can be assigned IP static routes and IP gateways. For reference even an entry level Samsung Tab A7 Lite this can be done if you go to  Device Settings --> Connections --> Wi-Fi --> DoodleLabsWifi-505d95 where you can then gather more network specific settings for your radio1 interface for Wi-Fi.  

Fig. 7 – Quick and Easy (But Limited) Wi-Fi Static IP Addressing 

 
Next, (in the Tab A7 Lite) if you go to Manage Network Settings --> View More --> IP Settings --> Static you can route a static route over your Wi-Fi interface to connect directly to your EUD. We will show what this looks like in Fig. 7 for the GCS-radio static IP given with the previous use case 192.168.43.102 and assigning a static IP of 192.168.43.110 for the Tab A7. For the radio ‘simple config’ in Fig.2, you can simply set up either the ‘GCS’, ‘General’ or ‘GCS + Internet’ profiles as a Wi-Fi AP and quickly be on your way to controlling your UAS or UGV.   

Application Note: Wi-Fi Limitations and Benefit of EUD Hotspot Wizard

As mentioned in Fig. 7, the Wi-Fi AP configuration blocks any other external LTE, Wi-Fi or internet connectivity while in-use. However, the Wi-Fi AP can be quickly toggled ‘on’ or ‘off’ through Android Settings if internet connectivity is a lesser concern. To overcome this Doodle Labs designed the EUD Hotspot Wizard to share the Android EUDs hotspot over the network, create an advanced internet gateway schema and further added advanced port forwarding.  

The EUD Hotspot Wizard -- Wi-Fi Hotspot Mode 

You can also use the Wi-Fi hotspot on your EUD to provide an internet connection to the Mesh Rider network. In this mode, the GCS-side Wearable Mesh Rider radio acts as a router and an internet gateway for the rest of the Mesh Rider network. This is shown in Fig. 8.  

Fig. 8 – Wi-Fi hotspot mode network 

We can see that both the EUD and the Wearable Mesh Rider radio perform network address translation (NAT), and route traffic from their respective LANs towards the internet. The GCS-side Mesh Rider radio starts a DHCP at the address 10.x.y.1/8, where x and y are the final two decimal values of the MAC address. For example, if the MAC address of the radio is 00:30:1a:40:29:73, then 0x29 = 41 and 0x73 = 115, so the gateway IP address is 10.41.115.1/8. 

As the devices behind the GCS-side Mesh Rider radio’s NAT are not on the same LAN as the EUD, the EUD cannot communicate directly applications running on the Mesh Rider network. Instead, client applications running on the EUD, talk to the GCS-side Mesh Rider radio, and port forwarding needs to be set up on the GCS-side radio.  

For example, if you are running an RTSP server on host 10.41.115.125 at port 8000, then you should forward port 8000 on the GCS-side radio. The EUD would then connect to the RTSP feed at 192.168.43.102:8000 instead of 10.41.115.125:8000

Wearable Mesh Rider Configuration 

In the Simple Configuration menu shown in Fig. 2, select “Connect Over” Wi-Fi Hotspot. After that, make any further changes you want, and scroll to the bottom of the page and click Save & Apply. Do not make any changes to the Configuration for Wi-Fi Radio section.  

Hotspot Configuration 

Wait for the Simple Configuration page to reload, and then scroll back to the top of the page. Click the CONNECT TO HOTSPOT button to navigate to the EUD Wizard page. The EUD Wizard is an application which connects the Wearable Mesh Rider radio’s Wi-Fi interface to a hotspot. Fig. 9 shows the EUD Wizard page. 

Fig. 9 – EUD Hotspot Wizard page 

The EUD Hotspot Wizard page includes a tab EUD Hotspot Wizard Status which prints the syslog messages related to the EUD Hotspot Wizard. Table 1 explains the various fields in the EUD Hotspot Wizard page.  

Table 1 – EUD Hotspot Configuration 

Menu Item 

Default 

Details 

Enable Hotspot Wizard 

OFF 

When de-selected, the EUD Hotspot Wizard turns OFF, and the Wi-Fi radio reverts to AP mode with the Wi-Fi interface bridged to the Mesh Rider network (br-wan). 

Connection Checking Timeout 

120 seconds 

The timeout when attempting to connect to a hotspot, after which the radio will revert to AP mode. 

Internet Access Check 

ON 

Regularly ping configured “Domains”. If the ping fails, the radio will stay connected to the hotspot, but the DHCP server on the Mesh Rider network (br-wan) will turn OFF. This will force connected clients to connect to any other DHCP server on the network. 

Domains 

google.com 

List of domains which the radio should ping for the Internet Access Check. 

Fallback Delay Time 

30 seconds 

After a reboot, the Wi-Fi radio starts in AP mode to give the user a chance to login and make configuration changes. This is a failsafe procedure. 

Activate AP Mode upon a connection failure 

ON 

If the connection to the Wi-Fi hotspot fails, the Wi-Fi radio will revert to AP mode. 

Enable EUD Hotspot Wizard Log 

ON 

Sends debugging information to the syslog. 

Enable Scan for Hotspot 

OFF 

When selected, the user clicks “SCAN FOR HOTSPOT” to find the desired Wi-Fi hotspot. Otherwise, the SSID and password can be entered manually 

Hotspot SSID 

Empty 

User configuration for the Hotspot SSID 

Hotspot Key 

Empty 

User configuration for the Hotspot password 

To Scan for a Hotspot

  • check the “Enable the Scan for Hotspot” box, and then click “SCAN FOR HOTSPOT”.  
  • In the “Join Network: Wireless Scan” page, choose the hotspot you want to connect to by clicking the “Hotspot Assistant” button next to the relevant hotspot. 
  • In the Hotspot assistant page, enter the hotspot password, and click “SUBMIT”.  
  • You will automatically be redirected back to the EUD Hotspot Wizard page. 
  • After that, click Save & Apply at the bottom of the page. 
  • You will automatically be redirected to the EUD Hotspot Wizard Status page.  

Fig. 10 – Join a wireless network 

Application Note: If your hotspot is running, then you will see status messages like those in Fig. 11 pictured directly below.

Fig. 11 – EUD Hotspot Wizard Status page 

Port Forwarding Wizard 

The last part of the setup is port forwarding. Again, this is necessary because client applications running in the EUD cannot directly communicate with servers behind the GCS-side radio’s NAT.  

Navigate back to the Simple Configuration page and click Configure Port Forwarding . You will be redirected to the Port Forwarding Config page show in Fig. 12. 

Fig. 12 - Port Forwarding Config page 

The Port Forwarding Config page has a Custom Config section by default, and it also creates a Config Port Forward for device <MAC ID> for every host in the Mesh Rider network. You can create a new port forwarding rule by clicking ADD in the relevant section. In the example above, we have a raspberry PI connected to the network. After configuring all of your port forwarding rules, click Save & Apply. In this section, “Internal Port” refers to the port used by the server application, and “External Port” is the port that you want the EUD client application to connect to. 

Example Setup 

In this example, the Pixhawk 4 flight controller on our drone is connected to a mini-OEM Mesh Rider radio over UART. The raspberry PI sends an RTP video feed to our GCS on port 5000. The serial to network bridge on our UAV-side radio runs in UDP server mode and listens on port 2000. A full diagram of the setup including IP addressing is shown in Fig. 13. 

Fig. 13 – Example setup diagram 

Example Note: The Simple Configuration page and EUD Hotspot Wizard pages were set up as discussed earlier. 

RTP Video Feed on the Raspberry PI 

The RTP Video Feed on the Raspberry PI is sent using a simple gstreamer pipeline.  

raspivid -n -t 0 -w 1280 -h 720 -rot 180 -fps 30 -b 2000000 -g 7 -fl -ih -if cyclic -ex sports -pf high -awb auto -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=-1 pt=96 ! udpsink host=192.168.43.1 port=5000 sync=false 

Here, 192.168.43.1 is the IP address of the Android Smart Phone (the EUD). Fig. 14 shows how to set up the video in QGroundControl. 

A screenshot of a video settings

Description automatically generated

Fig. 14 – Video Setup in QGroundControl 

MAVLink Setup -- Port Forwarding

Since our serial to network bridge is running in server mode, we need to set up port forwarding on the GCS-side radio. Fig. 15 shows the setup. 

Fig. 15 – Port Forwarding for MAVLink 

Fig. 16 shows how to set up the MAVLink Connection in QGroundControl. The IP address 192.168.43.47 is the address which the EUD’s DHCP server provided to the GCS-side Mesh Rider radio. 

Fig. 16 – MAVLink Comms setup in QGroundControl 

Ready to Fly 

Fig. 15 shows QGroundControl’s main screen after setting everything up. 

Fig. 15 – QgroundControl Main Screen 
Table of Contents