Doodle Labs User Guide
Table of contents
Overview
VOXL and VOXL2 support the ability to quickly and easily add a Doodle Labs wireless connection to a Ground Control Station. The following guide provides you the necessary details to do so.
Below are some helpful link from Doodle Labs:

Requirements
Hardware
The following ModalAI hardware is required to establish a Doodle Labs network connection between a VOXL-based product and a host device (computer, tablet, etc.).
| Part Number | Description | Link | 
|---|---|---|
| MCCA-M0078 | VOXL USB Expansion Board v2 | Purchase | 
| MCCA-M0041 | Power Module v3 | Purchase | 
| M0006, M0019, or M0054 | VOXL, VOXL-Flight, or VOXL2 | Purchase links: VOXL2, VOXL-Flight, VOXL | 
Software
In order for the required drivers to be available on target, the following software is required:
VOXL2
VOXL
Hardware Setup
Below is a list of required hardware in order to create a connection between a VOXL-based device and a ground control station via. Doodle Labs Helix modems.
| QTY | Part Number | Description | Notes | 
|---|---|---|---|
| 1 | MCCA-M0078-2 | VOXL USB Expansion Board v2 | Purchase | 
| 1 | MCCA-M0041-B | Power Module v3 | Purchase | 
| 1 | M0006, M0019, or M0054 | VOXL, VOXL-Flight, or VOXL2 | Purchase links: VOXL2, VOXL-Flight, VOXL | 
| 1 | Ground station device | Computer, laptop, etc. | Device must have smsc95XX driver support | 
| 1 | Power source | Power supply for ground station modem | 5V Operating Voltage | 
| 1 | USB-C cable | USB-C to USB on specified port on ground station | USB-C, A, etc. | 
| 2 | Helix modem | Doodle Labs Helix modem | Description | 
| 1 | Helix breakout board | Ground station side, provide power and USB | 5V Input | 
| 2 | Helix 15-pin cable | Modem data / power cables | 1 modified (see below), 1 stock | 
| 2 | Helix Antennas | Cables, antennas | Attenuators for desktop development only | 
Below are the pinout details for the modified 15-pin modem to 4-pin JST cable, or use MCBL-00068-1:
| Pin # | Name | Pin # | Name | 
|---|---|---|---|
| 1 | 5-V Input | 1 | VCC | 
| 2 | - | - | - | 
| 3 | GND | 4 | GND | 
| 4 | - | - | - | 
| 5 | - | - | - | 
| 6 | - | - | - | 
| 7 | - | - | - | 
| 8 | - | - | - | 
| 9 | - | - | - | 
| 10 | - | - | - | 
| 11 | - | - | - | 
| 12 | - | - | - | 
| 13 | - | - | - | 
| 14 | USB-Dev-D- | 2 | D- | 
| 15 | USB-Dev-D+ | 3 | D+ | 
VOXL Hardware Setup
Using M0078
The USB Expansion Board with Fastboot v2 exposes a USB 2.0 port on VOXL and VOXL2, and provides up to 5A to peripherals.


Pictured above for your reference is a VOXL2 flight deck with all cameras connected and Doodle Labs Helix connected.
IMPORTANT! Before modifying hardware setup, ensure power is off or disconnected.
- Attach - M0078add-on board to- J3of- VOXL2.
- Ensure jumper is set to - USB PWR 5Vside in order to provide sufficient power to modem.
- Attach antennas to ports on Helix modem, if doing desktop development use the attenuators between cable and antenna in order to prevent RF saturation in a bench top environment. 
- Use modified - 15-pin to 4-pin JSTcable to connect modem to- J3of- M0078
- Attach - M0041APM to VOXL2 and provide power
- Plug in - USB-C cablefrom desktop to VOXL2 in order to access- ADBlater on.
Ground Station Hardware Setup

Pictured above for your reference is a ground station setup showing a Doodle Labs Helix modem and breakout board.
IMPORTANT! Before modifying hardware setup, ensure power is off or disconnected.
- Attach antennas to ports on Helix modem, if doing desktop development use the attenuators between cable and antenna in order to prevent RF saturation in a bench top environment. 
- Use un-modified - 15-pin to 15-pin cableto connect the- Helix modemto the- breakout board
- Use - USB-C cableto- breakout boardto- hostground station
- Connect power (5V) to - green connector, see above photo to determine +(red) and -(black)
- Turn on power from power supply 
Software Setup
VOXL2 Software Setup
- adb onto VOXL2
adb shell
voxl2:/$
- Run the following the begin modem setup:
voxl2:/$ voxl-configure-modem 
 
What type of modem are you using?
If you are unsure of which modem you have, take a look at the following datasheets:
v2 LTE Modem: https://docs.modalai.com/lte-modem-and-usb-add-on-v2-datasheet/
Microhard Modem: https://docs.modalai.com/microhard-add-on-datasheet/
1) v2
2) microhard
3) doodle
4) quectel
- Select doodlefrom the menu
#? 3
 
Enter the IP address you would like to the VOXL to use on the Doodle network:
Note: The chosen IP address must be of the form: 10.223.0.XXX
Default - 10.223.0.100
1) default
2) custom
- Select the static IP you would like your VOXL2’s eth0network interface to be set to, either choose default or another IP on the10.223subnet
#? 1 
qrb5165 based device detected
reloading systemd services
enabling voxl-modem systemd service
starting voxl-modem systemd service
DONE configuring voxl-modem
- The VOXL2 will now enable the - voxl-modemservice in order to enable the Helix modem connection and set the static IP on bootup
- Verify that the - eth0network interface has enumerated and that the IP has been set correctly:
ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.223.0.100  netmask 255.0.0.0  broadcast 10.255.255.255
        ether 00:30:1a:4f:96:05  txqueuelen 1000  (Ethernet)
        RX packets 2930  bytes 661816 (661.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5264  bytes 290037 (290.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
Ground Station Software Setup
- Set a static IP address for the host PC on the Doodle network, Ubuntu 18.04 shown below:

In this case, the IP address of the host PC will be set to 10.223.0.150
Connecting to QGroundControl
Now that both the VOXL side and ground station side software have been setup you should be able to ping one device from the other.
For example, one can ping the ground station from VOXL by doing the following:
voxl2:/$ ping 10.223.0.150
PING 10.223.0.150 (10.223.0.150): 56 data bytes
64 bytes from 10.223.0.150: icmp_seq=0 ttl=64 time=0.126 ms
64 bytes from 10.223.0.150: icmp_seq=1 ttl=64 time=0.169 ms
64 bytes from 10.223.0.150: icmp_seq=2 ttl=64 time=0.115 ms
64 bytes from 10.223.0.150: icmp_seq=3 ttl=64 time=0.117 ms
64 bytes from 10.223.0.150: icmp_seq=4 ttl=64 time=0.121 ms
Since we are able to get packets from drone to ground station we can now connect our VOXL2 / drone to QGroundControl.
The VOXL system uses the voxl-vision-px4 service on VOXL to establish a connection between PX4 and QGroundControl over UDP. This is supported on VOXL2, VOXL Flight or when using Flight Core with VOXL.
If you have not yet setup voxl-vision-px4 on your VOXL, do the following:
# On Host PC
$ adb shell
# On VOXL
voxl-configure-vision-px4
You will be asked a variety of questions about your hardware configuration, answer these questions with the options that best describe your setup.
- When asked for the IP address for QGroundControl, you’ll use the IP address of your ground station, 10.223.0.150in this example
If you have already configured voxl-vision-px4, you can edit the configuration file as needed. Run the following command and update the qgc_ip field to match the GCS computer’s IP, in this example 10.223.0.150
vi /etc/modalai/voxl-vision-px4.conf
{
	"config_file_version":	1,
	"qgc_ip":	"10.223.0.150",
	"en_secondary_qgc":	false,
	"secondary_qgc_ip":	"192.168.1.214",
	"qgc_udp_port_number":	14550,
    ....
If you’ve modified the config file, restart the voxl-vision-px4 service and reload the configuration by running the following command:
systemctl restart voxl-vision-px4
You should now be able to open QGroundControl and see data being passed from your drone to your ground station via. the Doodle Labs modems.