Table of Contents
Fetching ...

Lowering Barriers to Entry for Fully-Integrated Custom Payloads on a DJI Matrice

Joshua Springer, Gylfi Þór Guðmundsson, Marcel Kyas

TL;DR

The paper addresses the high barriers to creating custom payloads for DJI drones by detailing a generalized, low-cost integration of a Raspberry Pi 5 with the Matrice 350 to enable onboard processing, sensor access, and real-time video streaming. It employs parallel DJI Payload SDK workflows (E-port and SkyPort) to achieve flight/payload control, sensor/data access, and desktop video streaming to the controller, supported by a compact, 3D-printed case and setup scripts. Key contributions include a portable hardware design, dual-port software architecture, and practical guidance for overcoming documentation gaps and vendor quirks, demonstrated via in-field operation. The work enables researchers from non-specialist domains to deploy autonomous landing and data-processing capabilities on a commercial platform, reducing cost and complexity while broadening access to advanced aerial sensing.

Abstract

Consumer-grade drones have become effective multimedia collection tools, spring-boarded by rapid development in embedded CPUs, GPUs, and cameras. They are best known for their ability to cheaply collect high-quality aerial video, 3D terrain scans, infrared imagery, etc., with respect to manned aircraft. However, users can also create and attach custom sensors, actuators, or computers, so the drone can collect different data, generate composite data, or interact intelligently with its environment, e.g., autonomously changing behavior to land in a safe way, or choosing further data collection sites. Unfortunately, developing custom payloads is prohibitively difficult for many researchers outside of engineering. We provide guidelines for how to create a sophisticated computational payload that integrates a Raspberry Pi 5 into a DJI Matrice 350. The payload fits into the Matrice's case like a typical DJI payload (but is much cheaper), is easy to build and expand (3D-printed), uses the drone's power and telemetry, can control the drone and its other payloads, can access the drone's sensors and camera feeds, and can process video and stream it to the operator via the controller in real time. We describe the difficulties and proprietary quirks we encountered, how we worked through them, and provide setup scripts and a known-working configuration for others to use.

Lowering Barriers to Entry for Fully-Integrated Custom Payloads on a DJI Matrice

TL;DR

The paper addresses the high barriers to creating custom payloads for DJI drones by detailing a generalized, low-cost integration of a Raspberry Pi 5 with the Matrice 350 to enable onboard processing, sensor access, and real-time video streaming. It employs parallel DJI Payload SDK workflows (E-port and SkyPort) to achieve flight/payload control, sensor/data access, and desktop video streaming to the controller, supported by a compact, 3D-printed case and setup scripts. Key contributions include a portable hardware design, dual-port software architecture, and practical guidance for overcoming documentation gaps and vendor quirks, demonstrated via in-field operation. The work enables researchers from non-specialist domains to deploy autonomous landing and data-processing capabilities on a commercial platform, reducing cost and complexity while broadening access to advanced aerial sensing.

Abstract

Consumer-grade drones have become effective multimedia collection tools, spring-boarded by rapid development in embedded CPUs, GPUs, and cameras. They are best known for their ability to cheaply collect high-quality aerial video, 3D terrain scans, infrared imagery, etc., with respect to manned aircraft. However, users can also create and attach custom sensors, actuators, or computers, so the drone can collect different data, generate composite data, or interact intelligently with its environment, e.g., autonomously changing behavior to land in a safe way, or choosing further data collection sites. Unfortunately, developing custom payloads is prohibitively difficult for many researchers outside of engineering. We provide guidelines for how to create a sophisticated computational payload that integrates a Raspberry Pi 5 into a DJI Matrice 350. The payload fits into the Matrice's case like a typical DJI payload (but is much cheaper), is easy to build and expand (3D-printed), uses the drone's power and telemetry, can control the drone and its other payloads, can access the drone's sensors and camera feeds, and can process video and stream it to the operator via the controller in real time. We describe the difficulties and proprietary quirks we encountered, how we worked through them, and provide setup scripts and a known-working configuration for others to use.
Paper Structure (12 sections, 2 figures, 1 table)

This paper contains 12 sections, 2 figures, 1 table.

Figures (2)

  • Figure 1: Payload case and component layout (left) and payload in flight (right). The payload case contains the Raspberry Pi, E-port and SkyPort development boards, SkyPort V2 connector (disassembled to save space), and DC-DC converter for regulated power supply. It mounts modularly and can be added/removed as needed. This relatively small payload allows us to fully utilize the sophisticated drone, i.e., to access the drone's sensors and cameras, control the drone and other payloads autonomously, and process/stream video to the controller in real time.
  • Figure 2: In-flight view of the downward stereo camera feed from the Pi's desktop. The image shows the Pi's taskbar on the top, with the video window below. The Pi is selected as a payload device, and we can switch between the Pi and the H20T (bottom right). Touching the screen at a particular spot causes a corresponding click on the Pi's screen.