SoftwarePilot Logo

SoftwarePilot v1.0

SoftwarePilot is an open source middleware and API that supports aerial applications. SoftwarePilot allows users to connect consumer DJI drones to programmable Java routines that provide access to the drones flight controller, camera, and navigation system as well as computer vision and deep learning software packages like OpenCV, DLIB, and Tensorflow.

SoftwarePilot comes with a dockerfile and installation scripts for all requisite software, and an Android-x86 VM to communicate with DJI drones from most systems.

SoftwarePilot provides sample routines and demos ranging from simple flight control applications to fully autonomous aerial systems. A simulation framework for fully autonomous aerial systems that use SoftwarePilot is also provided. The simulation framework can be used to aid development and profiling of complicated aerial systems.

Getting Started

Please review our comprehensive user guide here for installation instructions, and our development guide here to learn about adding to SoftwarePilot.


The goal of SoftwarePilot is to be as accessible as possible to anyone with a drone. Therefore, it only requires a basic laptop with the following specifications:

Software prerequisites include:

Built With


See also the list of contributors who participated in this project.


This project is licensed under the MIT License - see the License file for details