DJI Phantom 4 RTK in PPK processing


If you want to use PPK then RTK should be off. This allows the proper logging to happen so that you have all the necessary files for post-processing. I use RTKLIB for post-processing. Some use EZSurv as it is a little more refined and intuitive, but it is also pretty expensive. RTKLIB is free and honestly once you have walked through the process a few times it is really not very hard.

RTKCONV and RTKPOST are the actual programs that are part of the RTKLIB “suite”. You use RTKCONV to convert RINEX and BIN data to the OBS and NAV formats you need for RTKPOST.


Can i get the base station data and nav data from PPKraw.bin by using RTKCONV?

1 Like

Yes, and you will need to use the RTCM 3 format.


I’d be happy to take a run at your data if you want to message me a download link?


I have shared the sample data to you

In this link, i have attached the following data,


1 Like

Could you please explain, once we get the exact lat long and elevation, then how to do processing in pix4d ?

1 Like

Very good. I will try to do this in the morning. We may have to bring in a Pix4D user to help with that as I use it very rarely, but if we can follow the rest of my PPK workflow we will retag the images you have and you won’t need to do anything extra in Pix4D. Sounds like you don’t process in DroneDeploy… Just flight?


I have tried both software drone deploy and pix4d
I know that how to do processing in drone deploy…I am not aware about pix4d that why I have asked

I would like to know one more thing , once we get the CSV file then how can we retagging the images.

Could you please explain that how to do retagging the images ?

1 Like

A new version of EZSurv will soon be available.
It will allow you to select the output format (eg. DroneDeploy/Geosetter) and ait will also write the PPK position in Pics (Exif). So it will basically eliminate data manipulation between PPK software and photogrammetry software.
New version should be available in March 2019.


Can you explain what manipulation you are talking about? Geosetter replaces the Geotags directly so you just import the images as normal.


I meant EZSurv PPK software updates the images with PPK positions, so image can be import directly in the image processing softwar. Other type of files can be output after PPK such as GPX, Pix4D, etc (so it should be ready to use in the image processing software).


Gotcha now. I do RTKPOST (including GPX) and then Geosetter and upload to DroneDeploy.


Hey Guys, sorry I did a break from drone work, the P4 RTk realy went on my nervs…
@MichaelL did you try a flight with a DJI P4 RTK? If yes, how managed you the RTKPost?
After hundrets of trys I gave up on it…


I do not have a P4R and do not plan on getting one unless my P4P Emlid PPK stops doing it’s job. I am now in process of putting the system on a Yuneec H520. What are you still having trouble with? Were you able to extract the PPKRAW BIN file?


Everything works out with EZ Surv but I am not able to use perform the RTKLIB process with the P4 RTK Data. The realy bad thing is in that way, I have no indication where to search the problem. Is that the basis station? I have 3 different base station files… Or maybe the Raw to nav convert, maybe the settings… I am checking weekly the Inet through for somebody who was successful in doing the P4 RTk RTKLIB process…

Since i have the EZ Surv corrected CSV file I also tried to update the images in Geosetter for a DroneDeploy upload but I was not successful. Do you maybe have a tutorial or workflow?

(Luck you, stay with your Emlid, I wish I would have the same :wink: )


I am surprised that geosetter would not read your CSV file… Maybe the column names are not formatted/named correctly? Maybe try this for CSV to GPX for Geosetter? They provide the explanation for the correct names to allow auto-detect mapping.

Bottom line is that we need to get to the following file formats to get rtkpost to work. It is already in rinex 3 format so we shouldn’t need rtkconv, but we might need a bin extractor. Could you send another set of data and I will take another stab at it?

Base observation OBS
Rover observation
Rover satellite navigation NAV


Hoping you can me. I have a DJI Phantom 4RTK drone.

Yesterday I updated the firmware, and now the RC will not connect to the Drone. This drone uses the built-in screen on the controller, a Chrystalsky Android device.

In troubling shooting, I changed the ethernet settings from STATIC to DCHP. I think this may have caused the problem. I have the ethernet settings back to STATIC. However, I did not capture the IP address and settings. I am wondering if the attached log files are showing the Static IP address of the controller. I tried and still no luck. Need to replace the rest of the settings shown in the images attached.

In line the log file I was able to find an IP address
2019-03-11 17:08:28.240 DEBUG [1691] [Dji::Platform::TcpDatalinkMgr::TryConnectServer@389] start connect socket ip = port = 40001

Can some one please got the Ethernet settings on the P4rtk and tell me the settings for:
IP adress
Ethernet mode


I would give Florida Drone Supply a call and ask for Michael or Steve. They are pretty familiar with the P4RTK.

(855) 837-6637


MichaelL - where did the processing of the ppk data for Hirschred end at

and like Hirschred - does anyone have a tutorial or workflow for this issue


Unfortunately I think we hit a wall with the newness of the P4RTK and the lack of practical use. I can say that the key is turning off RTK so that the log files necessary are created. In my opinion this is a good thing because you never have to worry about a bad survey because of a weak or false RTK connection.
@GregO, do you have any experience with this?


so the ppk data that is created by the p4rtk when in rtk mode is garbage - if that is the case - then dji - way to go on creating something that creates garbage - we are trying tomorrow in the daylight another flight with the rtk off - but a response on this would be great

also - if rtk is off - then the base station is useless - cause as far as we can tell it doesnt start recording position / obs data until rtk is initialized - is this also the case?