Support Website Contact Support Blog

[Android] Pix4Dcapture with DJI drones

New thread about Pix4Dcapture Feedback and Experience on Android.


Hello Pix4D members and Android users,

We are glad to announce a new version of Android Pix4Dcapture.

Please use this post to share your experience with other users and us.
We are looking forward to your feedback!

Pix4D Support Team

1 Like

I haven’t tried the latest updates yet, plan to do some flights this weekend, weather permitting. My question is are there any plans to support Healthy Drones? Most other apps support it and now one of the other mapping apps is supporting it. Healthy Drones is a great service for getting details about your flight including battery info, helps foresee any possible future problems, manages your drones if you have more than 1, and soon FAA reporting.

This version fixed the “turn on WiFi” error when connecting to my P3-Pro. However, I had inconsistent results in trying to fly missions, with bad aircraft position GPS coordinate reporting, difficulty uploading missions to the aircraft, aircraft not beginning mission even when checklist complete and 3-second go button accepted, map caching of GE tiles didn’t work at all. There appears to be no way to save a mission after planning one without flying it, and no way to delete missions that went badly.

I am currently running the ver 1.6 firmware on the P3Pro, and will test P4D Capture again after updating…although 1.7 was only released last week so I figured 1.6 was more likely to work as intended.

I am hoping to use Pix4D in my professional remote-sensing/GIS workflow, but so far my best option for acquiring mapping imagery with the P3Pro is to generate a flight plan in ArcGIS as a line with nodes at photo waypoints, export the line to KML, import the KML to the Litchi on-line mission planner, export and load the Litchi mission onto the android device, fly the images, then load into Pix4D.

Features I would like to see in Capture:

  1. Ability to import KML into a mission as a line feature with 3D nodes. Grid mission setup on import specifies cross-track overlap with altitude slider moving all waypoints up or down, and ability to choose along-track overlap. Track mission setup on import allow gimbal and heading with camera parameters at each waypoint on the line.

  2. Ability to manually cache and persist GE image tiles with missions

  3. Ability to co-exist better on the same device with DJI-Go and Litchi by behaving the same way on RC USB-connect.

  4. Ability to upload flight data to




@Cam, I currently use a very similar workflow with Litchi and/or Ultimate Flight.

Your flight experience is pretty disheartening, I haven’t tried this version yet but am also flying a P3P with 1.6 firmware. I ordered a Nvidia Shield tablet that should be here tomorrow and hoping to get out this weekend for some test flights.

My feature requests are also very similar to yours, which I posted here since the 2.08 forum seemed to be more active than this one.

@Cam, after rereading your post, on 1) do you mean overlap will be automatically set based on your kml import? If not, you can currently set your overlap.

I’m just suggesting that an KML import function could import either:

  1. a 3D line in serpentine typical grid format with nodes at the corners only and the requirement that the parallel line spacing and length be uniform, with z-values representing HAG. Rather than adjusting line spacing according to altitude and desired overlap, the import function would indicate the across path overlap represented by the KML line spacing, then provide the ability to make global altitude adjustment to vary the cross-lap, with the along-track overlap (camera trigger timing) automatically adjusted or manually adjusted.

  2. if not meeting above specs, the line would be imported as a free-form flight path, with camera events at each node, with ability to set altitude and camera parameter defaults on import and ability to revise camera parameters individually at each waypoint.

I sort of like the current Capture method of specifying gridline endpoints only and triggering the camera at time intervals based on planned speed because it’s so much more battery-efficient not stopping at each photo-point, but in practice I notice that the photo point spacing is highly irregular (due to wind? setting my flight speed to max?). I like the ability in Litchi to set camera and altitude parameters at each photo point.


I tried creating a reconstruction of a building with visible facades today using a DJI P3 Advanced and Pix4Dcapture. I planned the mission according to the tutorial given here, i.e.:

"The 3D reconstruction of urban areas requires a double grid image acquisition plan, so that all the facades of the buildings (north, west, south, east) are visible on the images. The overlap should be the same as in the General Case.

For the facades to be visible, the images should be taken with an angle between 10º and 35º, for more information about the definition of the angles: 202559859) and not pointing to the nadir. If much detail is needed, aerial and terrestrial images should be combined."

I used a camera angle of 30°.

So I let the P3 fly the first grid mission, then rotate the grid by 90° and fly it again.

However, after finishing the flights and reviewing the photos I noticed that the drone did not rotate at the turning points, but was always flying forwards - backwards - forwards - backwards - …
Hence, for the first grid mission, all photos are facing North (i.e. I get the Southern-facing facades) and for the second grid mission all photos are facing West (i.e. I get the Eastern-facing facades).

So, I’m wondering whether I’m supposed to rotate the grid again by 90° and fly another two grid mission to get photos facing South and East, or is this a bug and the drone should rotate at the end points of each line, and shoot alternating North/South and East/West-facing photos?

Is there any option for using Pix4Dcapture with the Phantom 2?  Not Vision or Vision Plus, just Phantom 2.

@Philipp Indeed you are supposed to fly 5 sets of transects. One vertical and the other four as you said with the rotation 90 deg. each cardinal direction. The Altizure app offsets the four additional passes one grid width opposite of the direction of flight (I believe).

5 transects? That will eat a lot of battery… d’oh…
I will have a look at Altizure, thanks! :slight_smile:

This version of the app is my first time using the app. I’m using a Note4 & DJI 3Pro. 

With what seems to be the classic reboots of both the drone, app, & phone, I had 22 successful missions in a row, needing to reboot the aircraft after a failed mission upload 15-20% of the time.


Then I did the latest firmware upgrade from DJI. The drone will rarely connect before I attempt to start a mission. 2. The time required to connect to the drone before starting a mission went from ~5 seconds to ~40 seconds. 3. It is only uploading the mission to the drone ~20% of the time, which with the drone in the air, eats 50% to 80% of the battery depending on how many reboots. The last two flying sessions took 4 batteries per 1 mission. 

I guess I had some serious beginner’s luck with hundreds of surveyed acres over 22 missions.

Has anyone had different user experiences pre/post firmware upgrades on the DJI? 

It is important to release the android ver. with DJI Phantom 4 in very near weeks.

@Vasil Simeonov “It is important to release the android ver. with DJI Phantom 4 in very near weeks.” This! YES!

is there any update on P4 support for Android.  I have been waiting for months for this - literally.  


Hello !

My Name is Michael and I do some tests with PIX4DCapture (Android) and my P3A this Weekend . I choose a small area on a free field and it Looks good.

After transmitting the JPG files I saw, that all photo are not sharp.

In the App I can not see any Settings for the camera. How should this be done ?


Kind regards, Michael


I’m using the inspire 1 and I’ve one big problem. I normally fly corridors (for road construction sites). If the videosignal gets lost, the inspire is still flying its planned route with the autopilot, BUT it stops taking pictures. That’s really bad because a missing area in a 28 km long corridor means a totally break in the DTM generation. Is there any opportunity to change any settings to avoid this situation? I think when the autopilot is uploaded, the inspire don’t need commands from the RC any longer right?

Thanks for your help.


Hi all,

Thank you very much for the detailed feedback and your interest in using Pix4Dcapture. Regarding latest news, there will be two new versions of the app approximately by the end of June:

  • Android (probably beta): Mostly SDK3 integration and Phantom 4 support.
  • iOS: Bug fixing and new type of mission to optimize reconstruction of 3D objects like buildings and their facades.

Regarding all your comments,

@ Mike and Cam

1. With the current Android version 3.0.1, it is possible to plan several missions in advanced, duplicate and delete them, etc. using the new Project List. You can find more information here:

2. Actually the new Android version will provide some similar features to that of Healthy Drones, including more information about the drone status when flying with Pix4Dcapture. We have forwarded this suggestion together with manual and permanent cache of the tiles.

@ Cam : As for other suggestions, we are not sure to fully understand.

  • The overlap and altitude of the flight are two correlated options that define the front space interval between each picture and the spacing between lines of the grid. This is set in order to achieve optimal results when processing on Pix4Dmapper. Note that the DJI SDK does not allow to adjust the camera settings for each photo. The settings apply to all images of a same flight.
    What would be the main advantage for you in importing a KML file? Is it the ability to have a polygon shape?
  • What would you like to improve the co-existence with DJI GO and Litchi when connecting the device to the RC?

3. We are aware that in some places, tiles are missing depending on the zoom level. It can be possible to zoom but no tile is displayed or the zoom level is blocked. Unfortunately, only the map provider is responsible for that. Switching from the satellite to the map view might partially solve the problem of the missing background information when adjusting your grid in Pix4Dcapture. It is indeed sometimes more up to date than the satellite view.

4. About the mission that is not uploaded to the drone, sometimes it takes a bit long to send the mission details to the drone through DJI SDK (what allows the communication between the two). It could also be that the takeoff check list is not refreshed so the error remains and prevents you to start but the mission is indeed uploaded. We would suggest to try the following:

  • Press Cancel in the takeoff checklist, and then Next again, it will refresh the status.
  • Cancel the mission, and slightly adjust the grid, e.g. the size, in order to force the app to upload the mission details again.
  • Restart the mission, meaning close the app, disconnect the mobile device, switch off the remote controller and the drone.
  • Uninstall Pix4Dcapture and reinstall the app.

5. The interactions between the drone and the app during a mission are as follows.

  1. The app receives the GPS location of the drone (drone >> phone).
  2. The app decides to take a picture according the new location, and asks the drone to do it (phone >> drone).
  3. The drone may or may not take a picture, even though usually it does.
  4. The drone sends back a message to say that the picture was taken (drone >> phone).
  5. The app shows the camera icon at the position of the drone when the message is received.

Therefore the camera icons on the flight track of the grid do not always correspond to the exact location of the photos where they were taken. Indeed some delays may happen in steps 1, 2 and 4 described above. Sometimes the app does not know whether an image was indeed taken (step 4) so the camera icon does not show up which explains gaps.

To know if the drone regularly took pictures, we suggest that you open Pix4Dmapper on your computer and import the images that were saved onto the drone’s SD card. The images have accurate coordinates but not the icon on the Map view of the app.

@ Cam : As for the other problems you faced, do they remain with our latest Android version?

@ Philipp

The camera angles mentioned in the article about the flight plan refer are measured from the vertical direction whereas in the app, the angles are measured from the horizon line. In other words, 30° actually means 70° in the app. This will be corrected in the future for consistency.

Curtis’ reply is correct, 5 different grids are needed, 1 being the nadir view ideally. Another alternative would be to fly 2 grids besides the nadir one, towards North-East to capture South and West facades, and towards South-West to capture North and East facades (change of 180° between the 2 grids). The overlap will be less good probably.

Note that on iOS, the new release will have a double grid mission that will automatically rotate the drone (currently just translating) and so camera to capture all facades in 2 grids only.

@ Chris

The app does not support Phantom 2 and it is not in our pipeline to integrate it.
We support Phantom 2 Vision and Phantom 2 Vision+ on Android and iOS though.

@ Greg

We are aware of some issues with the latest DJI firmware, including the following:

  • The camera does not respond and the gimbal cannot be controlled.
  • The remote controller does not respond and it is sometimes not possible to take back manual control.
  • Each new mission, the height limitation is reset to 50 or 100 m meaning that if the altitude of the mission is higher, the drone will not start it. The user should then check that setting in the DJI GO app. There might be other issues that were not reported yet.

For the problem when the mission is not uploaded to the drone, please see my reply just above in 4.
With the new release of Android that supports SDK 3, we expect that most problems you described will be solved. In the current version, the synchronization might fail meaning that the images are not transferred from the drone to the phone and the .p4d file is not generated. However, it is still possible to successfully process the project on Pix4Dmapper:

@ Michael

In our Android app it is not possible to change the settings of the camera. The camera settings are set to automatic so that the images are optimally captured to ensure a good reconstruction with Pix4Dmapper. These settings are defined at the very beginning of the flight with the first images and remain the same until the end of the mission.

We would always recommend to check with the video feed (Camera view of the Grid or Free Flight Mission) in our app that the focus is correctly done before starting the mission.

@ Thomas

Yes, when the connection is lost the drone continues to fly the mission. However the drone does not take picture anymore because the app has to send a message when to trigger the shutter. If the connection loss persists then it is better to abort the mission by switching the flying mode from F (autopilot) to P (manual).

This allows you to take back manual control with the RC and make the drone come back to the homepoint to restart a new mission. But if the connection is lost, the RC will probably not respond too. Usually, you can define settings in DJI GO to decide what the drone should do in this case or when the battery level is lower than a certain % for instance, and it should apply when flying with Pix4Dcapture.

If you do more testing, we will be happy to read your feedback and further help.



Thanks for he detailed response and update. I’m looking forward to using Pix4DCatpure with my P4.

Hi Curtis,

After reading my answer again, I noticed that I made a mistake.
It is actually not in our pipeline to support Phantom 2 with the app.