This application does not keep or send to any servers in the control of the application developer any data which can identify the user.
However the DJI SDK, used to control any of the supported DJI drones, has its own set of permissions that it requires in order to work.
The full list of permissions that the DJI SDK requires to work are detailed on this DJI GitHub page.
Google requires any application that uses the READ_PHONE_STATE permission should explain its use and for this application it is required to use the DJI SDK.
Any users wishing more detail on why this permission is necessary should contract DJI directly, as all their applications also require it.
Main Flight screen showing on screen controls
Video Recording
The record button is top left. If recording is under way, the centre turns transparent. Video is recorded to the /sdcard/DronePro/video. If you are connected to a GoPro, it will control its recording and optionally local recording. For UVC capture, it is local only.
Settings Menu
Pressing the on-screen menu button:
Change Settings
Displays the settings screen, allowing configuration changes.
Flight Settings
Displays the Flight Mode with gimbal position and RC override (for Android joystick rather than radio control).
Manage Profiles
Profiles allow switching between different groups of settings. For example you can quickly switch between RC mode and local joystick mode.
Show Drone Location
Turn on the split screen map showing the drone location.
Refresh Licenses
Refresh the current license and also download a MapsForge map.
Allows the current app settings to be backed up to / restored from SD card.
Flight Settings Dialog
The Flight Settings dialog shows the current flight mode, gimbal position and RC override state.
Use the Flight Mode drop-down to select a different mode.
Adjust the gimbal position with the slider.
RC override uses the local joystick when selected. When not checked the pitch, roll, throttle, yaw and gimbal are all driven from your RC remote control.
Manage Profiles Dialog
The Manage Profiles dialog shows a list of the preference profiles you have created, allowing you to create or remove profiles.
Profiles allow you to create a set of preferences and then switch between them quickly.
For example, you can create a RC override profile for flying with a local gamepad or a RC profile for groundstation mode for flying with an RC controller. These can then be swapped quickly with a single press.
It is up to you how you want to use a group of preference settings.
Preferences
The main preferences allows you to configure DronePro via various sub menus.
Licensing and Mapping allows you to refresh your DronePro license and to download an offline MapsForge map.
Licensing and Mapping:
Joystick Settings
Joystick Settings allow you to choose the settings for the cyclic and collective joystick.
Choose cyclic control mode
Pressing this shows a list box with the various ways of controlling the Drone pitch and roll (cyclic control).
Screen press tilt control
In this mode, you use the tilt of your phone to control pitch and roll by touching and holding anywhere on the screen.
You can also control the drone by holding on the collective joystick, then tilt controls pitch and roll and the collective joystick controls height and yaw.
Button press tilt control
In this mode, a small button is shown where the cyclic joystic would be displayed. Pressing and holding this is the only way of activating the tilt control for pitch and roll.
Toggle tilt control
In this mode, a small button is shown where the cyclic joystic would be displayed. Pressing this toggles between tilt control mode and hovering. In tilt control mode you no longer have to keep touching the screen while tilting your phone to control pitch and roll. Toggling out of tilt mode is the only way to get the Drone to go into a hands-off hover.
If you have Text to Speech enabled, a voice prompt is given stating when tilt control is active or disabled.
On-screen cyclic joystick
In this mode, an on-screen cyclic joystick is shown which can be used to control pitch and roll like a helicopter cyclic joystick. The cyclic joystick controls the drone pitch (via up/down) and roll (via left/right).
The tilt control of the drone is disabled.
Gamepad controls only
In this mode, neither the on-screen cyclic or collective joysticks are shown. Use this mode only if you are controlling the drone from a USB/BlueTooth gamepad.
Show collective joystick on left
When checked, shows the on-screen collective joystick on the left rather than the right. The collective joystick controls the drone height (via up/down) and yaw (via left/right).
If the Use cyclic joystick is also checked, then the cyclic joystcick will be shown on the right rather than the left.
Use larger on-screen joystick
When checked, the on-screen joystick will be larger. This is useful on devices with larger screens.
Use joystick touch centering
When checked, the on-screen joystick can be touched anywhere and this is taken to be the centre of the joystick. You can run out of range in this mode, if you hit the edge of the screen, so lift off and try touching closer to the joystick centre.
Maximum tilt angle for full pitch input
Adjusts the angle you have to tilt for full pitch input.
Maximum tilt angle for full roll input
Adjusts the angle you have to tilt for full roll input.
Cyclic Joystick deadzone
Adjusts the amount you have to move the cyclic joystick before the drone starts pitching or rolling.
Cyclic Joystick sensitivity
Adjusts the how quickly the drone responds to the cyclic joystick movements.
Joystick Settings continued:
Climb Joystick deadzone
Adjusts the amount you have to move the climb joystick axis before the drone starts changing altitude.
Climb Joystick sensitivity
Adjusts the how quickly the drone responds to the climb joystick axis movements.
Yaw Joystick deadzone
Adjusts the amount you have to move the yaw joystick axis before the drone starts rotating.
Yaw Joystick sensitivity
Adjusts the how quickly the drone responds to the yaw joystick axis movements.
Joystick Motion
Joystick Motion shows the current gamepad motion for cyclic and collective, or cyclic tilt when pressing on the screen.
Use this to show quickly adjust deadzones and sensitivities.
Video Settings
Video Stream
Shows the Video stream selection allowing to switch between GoPro video preview and an UVC video capture.
When connected to the GoPro wifi, a video preview stream is shown.
USB Video
When a USB UVC capture dongle is plugged in, a preview of the video stream from the drone FPV camera is shown.
GoPro Settings
Do not connect to GoPro WiFi
When checked, no wifi connection will be made to the GoPro and the video preview will be turned off with only the full screen map planner shown.
Auto-connect to GoPro WiFi
When checked, a dialog will appear to allow you to choose your GoPro WIFI SSID and the GoPro SSID entry will be enabled to allow it to be edited.
This SSID will be connected to automatically at app start-up or when switching back from the Licensing and Mapping download.
GoPro SSID
When 'Auto-connect to GoPro WiFi' is checked, press this to modify the WiFi SSID of the GoPro. The SSID should be surrounded by quotes (").
GoPro Password
Use this to set the password you have configured in the GoPro. This is required to capture stills and record video.
Flight Settings
Flight Mode
Shows the Flight Mode selection allowing to switch between the different flight modes.
Gimbal movement speed
When using a gamepad button to control the gimbal up/down, this adjusts the rate at which the gimbal moves.
Flight Modes
The default flight mode selection:
User Interface and Feedback
User Interface and Feedback allows you to choose the UI settings which are shown on-screen or via audio or vibration feedback.
Colours and Scaling
The various colours and scaling options.
Video and Recording
The video and recording options.
UI Options
The main UI options.
HUD Options
The HUD options.
Colours and Scaling
Transparency
Controls how opaque the controls are over the video.
Text Scale
Controls the size of the on-screen text.
Icon Scale
Controls the size of the on-screen icons.
Joystick Thumb Scale
Controls the size of the on-screen joystick central thumb button.
Joystick Scale
Controls the size of the on-screen joystick background. Changing this size will mean you also need to change sensitivities and deadzones
Adjust on-screen colour
Adjusts the colour hue of the on-screen joysticks and buttons. In the Pro edition this adjusts all icon colours not just the joysticks.
Adjust on-screen colour saturation (Pro only)
Adjusts the colour saturation of the on-screen controls.
Video and Recording
Record Bitrate
This slider controls the recorded video bitrate quality. Only for local overlay recordings.
Increasing the bitrate will give better quality video but with a larger file size.
Set video recording mode
Press this to select from a list of different video recording modes
GoPro recording
If a GoPro is connected, then recording will take place on this.
Local recording
Local recording will be at 640x360 for GoPro or 640x480 for USB UVC capture dongles.
Overlay drone information when recording
When checked, and local recording is active, this overlays extra drone information on the recording.
Start recording at take-off
Video recording will automatically start at take-off and stop on landing.
Overlay recording options
This includes height, heading, horizontal velocities,
battery level, wifi strength and quality.
N.B. This is only done for local recordings.
UI Options
Use haptic feedback
When checked, touching the screen will give a haptic vibration, if this is enabled in system settings.
Drone error conditions will produce a morse code SOS vibration pattern.
Use audio feedback
When checked, touching the screen will give an audio click, if this is enabled in system settings.
Use text to speech feedback
When checked, touching the buttons or error conditions will be spoken.
If text to speech is not installed then you should be prompted to install, but speech will not be heard until the ARDrone app is restarted.
Use imperial (ft)
When checked, speeds will be in ft/s, distances in yards and heights in ft.
Export Layout
When pressed, the current UI layout will be exported to /sdcard/ARDroneFlight/layout/ARDroneLayout.XML.
Use this to create a custom UI layout. Errors in the sdcard XML file will mean the built-in layout will be used.
In the worst case scenario, if the UI fails to load, simply delete the sdcard file.
If the sdcard file is present, you will be prompted if you want to overwrite it when Export is pressed.
Show visible buttons and UI
When pressed, shows a list of the UI elements that can be turned on and off.
Use on-screen exit button
When checked, shows an on-screen exit button.
This disables the back button exit.
Show wifi signal strength
When checked, shows a wifi signal strength icon.
N.B. This is the same as the wifi signal meter on your Android notification bar.
Show wifi link quality
When checked, shows a link quality icon.
This is a measure of errors in the link reported by the Drone. Lower levels indicate interference in the signal which will cause video drop-outs or control lag.
Show profile switch button
When checked, shows the profile switch button used to switch between the profiles.
Show snapshot button
When checked, shows the snapshot button used to take a drone camera snapshot saved to the /sdcard/ARDroneFlight/media folder.
Show record button
When checked, shows the record button used to record video.
Show map button
When checked, shows the map button used to show or hide the map.
Show hide button
When checked, shows the hide button used to turn on/off all the UI elements except for HUD .
Information block 1/2
Pressing this displays a list of the text that can be displayed in the left and right information blocks.
Information block 1 is on the left. Any options which are checked for both info 1 and info 2 will only be shown in information block 1.
Show altitude
Show drone altitude.
Show heading
Show drone heading.
Show velocity
Show drone velocity.
Show Flight Mode
Show current flight mode.
Show GoPro camera mode
When checked, shows the GoPro camera mode as video or still capture.
Show link quality
When checked, shows the wifi link quality.
This is a measure of errors in the link reported by the Drone. Lower levels indicate interference in the signal which will cause video drop-outs or control lag.
Show connected SSID
When checked, shows the wifi SSID that is currently connected.
Show GPS fix
When checked, shows the GPS fix accuracy in meters / yards.
This is only shown when the Parrot Flight Recorder is installed in the drone.
Show GPS distance
When checked, shows the distance between your device GPS and the drone GPS.
This is only shown when you have been into the map display and requires both a device GPS and a Flight Recorder in the drone.
Due to the GPS errors in both devices, the distance can be significantly out from the actual distance, so should not be relied on for range calculations.
Show profile name
When checked, shows the name of the currently selected profile.
Notification options
Pressing this shows a list box with the various ways of notifying via text to speech.
When the Pebble option is selected the selected notification options will also be sent to a pebble smartwatch.
HUD options
This controls the appearance and behaviour of the HUD:
Show HUD 3D model
When checked, shows a 3D model representing the Drone orientation and heading.
Use device compass heading for 3D model
When checked, the model heading will be relative to your device compass, so when they match the model will be facing straight up. When not checked, straight up is North.
You need to calibrate both your device compass (move in a figure of 8) and drone.
Show HUD attitude
When checked, a HUD attitude graticule which shows the Drone pitch and yaw relative to the horizon.
Show HUD velocity vector
When checked, shows the direction of the drone flight relative to its orientation.
CoPilot
Launches ARDrone combat to setup a co-pilot for flying the drone on photography sessions.
Gamepad Mapping
The Gamepad mapping screen allows the gamepad controls to be mapped for different controllers.
Touching a button section will prompt you to press a gamepad button for a Drone control.
Touching a joystick section will prompt you to move a gamepad joystick axis through its full range to select it for a Drone joystick.
If you have more than one gamepad, then use a different profile for each controller.
N.B. Gamepad mapping is only supported on Android 3.1 and newer and not all newer devices support gamepads. Check with your manufacturer for gamepad support.
Autonomous MAV
The Autonomous MAV section allows configuration of the MAVLink connection, planner mode and autonomous settings.
MAVLink connection type
Allows the configuration of USB or Bluetooth MAVLink connections:
Video percentage size in the map plan view
Controls the percentage of the screen being used to show video in the planner map view.
Use planner mode
Starts the map in the large planner mode, rather than split screen.
GPS fix needed for autonomous control
This slider controls the GPS fix accuracy that is needed before the MAVLink Waypoint following, Launch, Home and Here buttons are enabled.
The better the 3D GPS fix, the more stable the flight will be. It defaults to 6m.
Default waypoint height
This slider sets the default height when creating a new waypoint
It defaults to 3m.
Waypoint Editing
Pressing on a map waypoint now brings up a new edit dialog to allow you to edit the waypoint settings.
N.B. The new settings and height are only used by MAVLink Follow Waypoints mode. The Map Autonomous mode just uses the location.
The Waypoint type drop down shows a list of the available MAV_CMDs.
Waypoints
Pressing the 'Waypoints' button takes you to the waypoint selection dialog which allows different waypoint files to be created and switched between.
Waypoint files are compatible with the QGroundControl file format.
Follow Waypoints
Pressing 'Follow Waypoints' uses the new MAVLink autonomous control to follow the active waypoints list.
The button will only be enabled if a sufficiently accurate GPS fix is available.
When the drone is under MAVLink waypoint following mode you cannot use manual controls and only the 'Disable' or 'Emergency' buttons will stop it.
New File
Pressing 'New File' creates a new waypoint file. The .txt extension is added automatically and it is created in /sdcard/ARDroneFlight/map.
Remove All
Pressing 'Remove All' prompts you to confirm that you want to clear all the waypoints from the currently selected waypoint file.
MAVLink Control
In addition to 'Follow Waypoints', Planner mode has MAVLink control buttons with icons for Launch, Home, Here, Disable and Emergency.
Follow Waypoints, Launch, Home and Here are only enabled with a good enough 3D GPS fix is available.
The Sat checkbox can only be used if you have connected to the internet in your area recently, as Google don't allow apps to cache this information.
The GPS checkbox allows the GPS and battery text to removed on a smaller screen. It defaults to be checked.
The Trk checkbox shows a track of the drone positions. It is not persisted and clears automatically when getting too large for Google maps.
When a better than 6m fix is available, the drone icon turns blue to indicate the best fix for MAVLink control.
Launch / Land
Pressing 'Launch' instructs the drone to take off and hover at the current position. The text changes to Land to land again.
If the button is greyed out and the Drone still flying, then use Emergency to land the drone.
Home
Pressing the 'Home' icon returns the drone to the current home position as determined by Parrot. This can either be the last launch position, first waypoint or current position, as Parrot are unclear what it does.
Here
Pressing the 'Here' icon will fly the drone to your current GPS position.
Disable
Pressing the 'Disable' icon tells the drone to stop its current activity and hold its current position.
Emergency
Pressing 'Emergency' tells the drone to stop its current activity and land at its current position.
N.B. This is via a controlled landing, not a rotor cut. It should also be used to reset the Launch state if the drone crashes.
Debugging
Allows the debugging mode to be turned on, at the request of the developer, so logs can be captured.