NOTE: FAQ have not been updated for OSDK 3.3, the information here is relevant for OSDK 3.2. An all-new FAQ will be out soon!
Getting Started
Product Related
Platform Related
General SDK
Becoming a DJI Onboard SDK developer is easy. Please see this section in the Quick Start guide for details.
All documentation can be found on the DJI developer website.
The Onboard SDK can be cloned from GitHub - Linux/Qt/STM32 and ROS.
The Hardware Setup Guide has detailed instructions for setting up the various parts of the system.
The Open Protocol is documented here.
You can use the following methods to get help:
StackOverFlow
Post questions in StackOverFlow with DJI SDK tag: dji-sdk
DJI Onboard SDK Forum
Github Issues
Gitter Chat
Send Email
If you prefer email, please send to dev@dji.com for help.
The first time the application communicates with the drone/flight controller, it connects to a DJI Server to verify it's authorized to use the DJI Onboard SDK by sending the Application ID and Key. This process is called activation.
Reasons for why it might fail include:
The Matrice 100 (N1 flight controller), Matrice 600 the A3 flight controller and the N3 flight controller are supported by the Onboard SDK.
In the context of DJI Onboard SDK documentation, Onboard Embedded System (OES) refers to any devices that can communicate with N1/A3/N3 flight controller and supported by Onboard SDK.
The Hardware Setup Guide talks about all supported combinations of OES and aircraft. Refer to the Architecture Guide for supported OS platforms.
Not necessarily, but preferred. We recommend a setup with Ubuntu and ROS but even a simple STM32 MCU without an OS running on it works.
An OES can only communicate with N1/A3/N3 flight controller via a UART port.
Yes, M100 supports third party video capturing device. If you want to use the M100's built-in ‘Lightbridge’ functionality, all you need is the N1 Video Encoder.
If you're seeing blinking mouse cursors, changing text size or general issues with the display, please re-do the restore using Ubuntu 14.04 as the host computer.
The Manifold is sold for university projects or for other research. Please send email to dev@dji.com stating the purpose of use.
Currently, you do need a LightBridge 2 RC for first use (specifically, activation). This requirement will be removed in future A3 firmware.
We support low-power embedded systems for core SDK functionality - all funcitons in the osdk-core library are available with the STM32 (and potentially other low-power OESs). However, more complex functionality such as LiDAR logging and precision trajectory missions are unavailable on bare-metal systems due to insufficient compute power.
You can get the full state estimate, timestamp and a lot of other information like gimbal data, state machine value etc. Refer to the Receiving Flight Data section in the Programming Guide.
Bit-level protocol information about the state broadcast data can also be found in the Open Protocol Documentation
The data output frequency for various kinds of state broadcast data (Position, Attitude, Timestamp etc.) can be set via DJI Assistant 2 in the [0, 100Hz] range.
Yes, AES encryption is available as a option. For more info, please refer to Encryption in the Open Protocol.
You need to use the Manifold as your OES. There is no official support for using other OESs with the X3/X5 camera.
Yes. Refer to Data Transparent Transmission.
Unfortunately, the LightBridge 2 channel does now support transmitting arbitrary forms of data. If you have data in the form of a video stream, use N1 Video Encoder (M100) or HDMI (M600/A3/N3) to stream it back to the RC. If you have some low-bandwidth data, consider using Data Transparent Transmission.
Yes. The DJI Assistant 2 has a built-in simulator that can be used with Onboard SDK.
For now, no. The initial height is set to be about 1.2 meters.
50Hz.
Because raw data is generated by actual sensors on UAV, raw data will not be available in simulator. Please choose fusion data when you use DJI simulator.
We agree completely - so since Onboard SDK 3.1.8, we offer a Mobile-Onboard SDK iOS app that has triggers for all functionality available in the Linux Samples. You can look at the implementation and make triggers for your own commands as well.