LTE Connected Drone (3DR Solo)
07 Sep 2016
Drone
3DR Solo w/Gimbal and GoPro HERO4 camera
The Solo architecture shows the primary companion computer (iMX.6) that runs Yocto Linux. The accessory port provides USB access to the iMX.6 via a breakout board, but the kernel only includes support for USB serial devices (FTDI and CDC-ACM). Adding a secondary companion computer provides some additional flexibility, and reduces the chances of bricking the primary.
Secondary Companion Computer
Odroid C0 with battery
One really nice aspect of the C0 is the integrated battery power circuit. The Solo accessory port can provide 5V power, but it’s limited to 1.05A.
LTE dongle
Aircard 340u (AT&T Beam)
Some good background on LTE in Linux.
The Aircard 340u is not correctly recognized in Linux until a firmware patch is applied. The patch disables the Windows 8 MBIM Identity Morphing.
Note that the dongle is not always recognized on boot. However, it does show up after re-inserting it.
Cloud Control Station (CCS)
MAVProxy running on an Ubuntu 16.04 droplet on Digital Ocean.
The CCS will be the final endpoint for the MAVLink telemetry messaging. Ideally, ICE/STUN/TURN (Voice-over-IP folks will recognize these !) would allow a Ground Control Station (GCS) on a laptop (also behind a NAT) to communicate with the LTE-connected drone.
Telemetry Forwarding (Secondary Companion Computer)
MAVProxy also supports forwarding of MAVLink telemetry.
Drone/Companion Computer USB Connection
A breakout board provides a micro USB OTG interface to Solo via the accessory port.
Connecting the Odroid C0 to Solo via a USB OTG cable creates a serial device (/dev/ttyACM0) on the Odroid C0, and a serial device (/dev/ttyGS0) on the Solo. By default, Solo supports login via the /dev/ttyGS0 device. This must be disabled via /etc/inittab.
Final Setup
Live Demo
Next Steps
- Convert Solo to WiFi AP, and use WiFi between Odroid and Solo.
- Characterize LTE communication during flight
- Stream video over LTE
- Investigate ICE/STUN/TURN options for MAVLink messaging via NATs