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.
