Doodle Labs Nimble Integration Guide for ARK Jetson PAB Carrier
Last updated
Last updated
This guide provides step-by-step instructions for integrating the Doodle Labs Nimble radio system with the ARK Jetson PAB Carrier, designed for seamless deployment in UAV and robotic platforms.
It covers hardware connections, software configuration, and troubleshooting tips to enable robust, high-throughput wireless communication over a private WDS network using the Doodle Labs platform. Standard Wi-Fi modes are also supported for more conventional networking setups.
Whether you're setting up a new vehicle or retrofitting an existing system, this integration guide ensures a reliable link between the Jetson-based companion computer and ground control station, optimized for use with ROS2, PX4, MAVLink, and other ARK Electronics software frameworks.
Install the M.2 Key E to mini PCIe adapter in the slot previously occupied by the Wi-Fi module. If you're using the recommended ADT-Link adapter, insert it into the M.2 slot and secure it with a screw.
Next, insert the Doodle Labs Nimble radio into the mini PCIe connector on the adapter and ensure it is firmly seated.
The Nimble software package is tightly coupled to the kernel version and requires Linux 5.15.136-tegra, which is included in JetPack 6.0.
You can also re-flash your Jetson using our ark_jetson_kernel repository with the commit corresponding to JetPack 6.0, to ensure compatibility. You can find more instructions for re-flashing the Jetson in our Flashing Guide.
Once you flashed the required OS you have to share your internet with the Jetson via the USB connection.
Once you are done you should ssh to your Jetson:
Password:jetson You should also install the ARK Software
Make sure you have internet connection on the Jetson, then ssh to it.
Install iperf3. iperf3 is a useful tool for throughput testing.
Install bridge-utils. This allows you to run the brctl command.
Install socat. This allows you to use the messaging system from the command line.
Install Additional Packages for Remote Access: Install htop, nload, iperf and screen for enhanced remote monitoring and networking utilities.
Modify Network Manager Settings to unmanaged the Wireless NIC: If you want to ensure the wireless network interface card (NIC) is no longer managed by NetworkManager, modify its configuration file
At the end of the file, add the following lines:
To apply the changes made to the configuration file, restart the NetworkManager service
Please contact your Doodle Labs Sales Representative for the Nimble Software package
The Nimble software package has both kernel space driver and user space applications and libraries packaged into multiple .deb Debian packages. The kernel driver packages for 802.11n is coupled to specific version of Kernel. Below is the list of kernel specific debian packages we will be installing.
On the Jetson, create a folder ~/Nimble and copy the Nimble Software Package to this folder.
From your local machine you can copy the following commands
On the Jetson you should install the packages
Reboot the board
Check that the radio interface is running by running
You should see the following output
By default, Ubuntu uses the Network Manager service for network configuration. We have already stopped the Network Manager from managing wireless interfaces. We will be using the Nimble Front-end software to manage the wireless interface by using wpa-supplicant, hostapd, and isc-dhcp-server. The Nimble Front-End provides a unified configuration interface for wireless configuration, IP configuration, traffic prioritization, and Sense. The Front-End also enables compatibility with Doodle Labs Mesh Rider radios.
The following files are provided for Front-End Installation.
In the nimble folder you should extract the files above
One of the two main networking layouts we expect Nimble to operate as is Nimble as Access Point and Client, the photo below is an example of such a layout. The Nimble radio is integrated into a ground control station and acts as an Access Point. The drones are each integrated with a Nimble radio and are configured to be clients.
There are two ways to proceed. One option is to configure for Nimble to be in Access Point mode and the other is to configure Nimble to be in Client/Station mode.
To install and configure the radio to be in Client mode do the following
Navigate to the Nimble/nimble_installer directory in a terminal and run the following command
Reboot the device after installation is complete
The device will act as a WiFi Client device with the following parameters
SSID: wireless-hotspot PSK: DoodleSmartRadio IP: DHCP Client
If an access point is running with the above credentials, on the same channel and bandwidth (it should be if it is the default Nimble AP installation). Check if this client/station is connected to AP using following commands, please use the DoodleLabs WiFi card interface name, for example “wlp3s0”
To install and configure the radio to be in AP mode do the following
Navigate to the Nimble/nimble_installer directory in a terminal and run the following command
Reboot the device after installation is complete
Check if the AP is functional using iw command, please use the DoodleLabs WiFi card interface name, for example “wlp3s0”
The device will act as a WiFi AP with the following settings
SSID: wireless-hotspot PSK: DoodleSmartRadio IP: 10.223.3.1/16 and running a DHCP server
You can switch between AP and Client mode by running the nimble_installer.sh script again with the desired mode and rebooting.
The Nimble configuration utility is provided to help users with the most common wireless and networking configurations. To configure the Nimble transceiver, navigate to the nimble_config folder /Nimble/nimble_config/then run the nimble_config shell script as root.
The menu items that are available depend on whether you installed the radio in AP or STA (Client) mode. The basic menu structure is as follows
Note: Any changes made in the configuration using nimble_config will be reflected only after ‘exit’ option of that submenu is selected and returned to the parent menu.
The other networking layout we expect is for customers to use Nimble in Mesh Rider interoperability mode. This allows Nimble to function as either WDS AP or WDS Client. The Mesh Rider radio must also be configured to operate in the appropriate WDS AP or WDS Client mode. Here is a possible network setup possible with Nimble and Mesh Rider.
The default mode on Nimble is with Mesh Rider Radio interoperability disabled, and it acts as a normal AP/Client. To achieve the Mesh Rider <-> Nimble network architecture as illustrated in the network diagram above, Mesh Rider interoperability must be enabled using the Nimble Configuration script nimble_config.sh mentioned earlier.
This will allow the Nimble radio to connect with Mesh Rider radios in WDS AP/Client mode. The Mesh Rider radio also needs to be configured in WDS mode for Nimble to connect.
You have to be in Client/AP Mode already, then you can enable WDS using Nimble Software Configuration Utility.
To configure the Nimble transceiver, navigate to the nimble_config folder /Nimble/nimble_config/then run the nimble_config shell script as root.
Select option 5 and enter 1 to Enable Meshrider interoperability then select 6 to exit to save and close the Configuration Utility
Select option 5
To edit Meshrider interoperability
Enter 1
To enable Meshrider interoperability
Select option 6
To exit to save and close the Configuration Utility
This section provides detailed instructions for setting up and connecting to Doodle Labs Mesh Rider Radios. Your options are:
Wearable
Mini & Nano OEM
OEM
Regardless which radio you use as the base station the network setup is the same.
After establishing a connection through Ethernet, you must set a static IP address for your host machine within the 10.223.0.0/16 subnet to access the radios. The method for assigning an IP address differs between operating systems (Windows, macOS, Linux, etc.).
For a Windows 10 or later system, navigate to the Network Connections folder in the Control Panel. Right-click on the Wi-Fi or Ethernet adapter your host is using and select Properties. In the properties window, choose Internet Protocol Version 4 and then click Properties. Set the IP address to the 10.223.0.0/16 subnet. Since these addresses are statically assigned, make sure not to use the same IP address for another device on the network. Refer to the figure below for guidance on manually setting the IP address.
For Linux:
Once the setup is complete you can go ahead and and open a web browser and navigate to the IP address written on your device
Key setups for connection
Same SSID
Same SSID
Same Key
Same Frequency (2.4ghz band should be one both of the radios can talk on)
Same bandwidth
On the Jetson you could run the following command to see the correct setup
Once you have established the connection you should remove the usb connection and reboot the Jetson.
With this setup, your Jetson is part of your IP network, which means if it’s running a MAVLink server or any MAVLink-compatible device, you should be able to connect to it via QGroundControl (QGC) over the network. Additionally, you can access the Jetson remotely using SSH for monitoring or configuration tasks.
Resources: