Community Forum

Affordable way to integrate Reach M+ with DJI Phantom


Do you use map pilot? I can figure map pilot timings vs LED blinks and calculated actual time

(Timmyd) #64

here is the link to a file. You would want to write the program to use the CSV file. That would mean that we have to download the FlighLog, Convert it, and then run your utility.

Once the CSV file has been opened and parsed, you will look at the column [CAMERA_INFO.remainedShots] . When the value of this has decreased by a value of 1, then you take the time stamp value in column [CUSTOM.updateTime] and create an event.

The question that remains as to when this event is created in the DJI Flight Log. If it is Mid-Actuation, like the Ashot, then I would think no adjustment (offset) is required at all. But I am not sure how you will find out definitively when this occurs. Is there any way to run tests to determine this?? That is certainly beyond my abilities :slight_smile:

(Konstantin) #65

it is not good.

  1. Flight log on the Pad. If there is no Link - there is no log???
  2. Drone clock is not sync with Emlid reach clock.

I can check this idea after 1-2 days.

(Timmyd) #66

I recently started using MapPilot. This afternoon I have to go do a baseball field I will use MapPilot for that. I will provide the log files for that mission (including the FlightLog file on my iPad Mini.

(Timmyd) #67

The FlightLog file that is on the iPad (or Android) is received from the phantom 4 pro drone which is GPS time from the drone. Even though it is not derived from the M+, are not all GPS times in sync with each other?

(Konstantin) #68

I can check this.
I can use AShot Timemark and compare it with LOG on my ipad.

(Tobias Dahms) #69

I wonder whether it is possible to find a worflow which does not include a further conversion step (I guess that is no problem with python) and which will be the same regardlessly which tablet operating system was used.

The txt file you are sending me is downloaded via itunes from an ios device and the DJI pilot app? Will it be the same file if you use an Android device?

(Timmyd) #70

I just tried to order the Ashot and got message:
Sorry, we can’t complete your purchase at this time

To comply with government regulations, this transaction has been declined.

(Timmyd) #71

I will have to fly with an Android tablet and compare then but I think they are identical. The TXT file is encrypted and you must use the Utility to decrypt and create the CSV file. If you can encorporate the program (its free) into your program then that would be nice.

(Konstantin) #72

Did you try to pay from USA business paypal account?
From USA to our business paypal you cant pay ((
But we have personal account. Please send me email. Or you may reply to order email.

Or you may pay from your personal paypal acc.

(Michael Lambert) #73

I got the same thing and we worked it out over email.

(Michael Lambert) #74

Man, miss a day in this place and it blows up! I’ll have to go back through, but @timmyd I have the Reach and power components for the M+ setup for the Yuneec H520 so I will start with working with the log files until we figure out the shutter capture. Actually I think it’s much easier than that with the GPX and Geosetter, but I have to get the antenna mount before I can start testing. It going to be a busy month!

(Tobias Dahms) #75

Ok, I looked a little bit into it and I think what the script will do is:

  • convert the txt file with the help of the TXTlogToCSVtool (you will have to download that separately and place it in the same folder as the script)
  • read the CUSTOM.updateTime for each image (but I fear that this time is not the time when the image was taken but the time when the telemetry message was send.)
  • apply a manually entered offset
  • write events into the RINEX file

Later on I could imagine that I also include the possibility to process the obs file and geotag the images.

What I still need in order to write the script and test it is a data set of one flight which includes:

  1. the DJI Flight record txt file
  2. the RINEX file (with events from the led if possible)
  3. the picture files

If somebody knows I would be interested in the information what kind of time that CUSTOM.updateTime is, UTC?
Found this here, which is not good at all:

Specifically, does anyone know if CUSTOM.updateTime is derived from GPS or mobile device system time?

it comes from smartphone’s OS
in Android version of DJI GO: System.currentTimeMillis()

(Timmyd) #76

I did email (manual pay) and all is good. Order complete :slight_smile: Will look forward more than anything not missing any photos. Have a super duper week!

(Timmyd) #77

Tobia, I think it is ok. I asked the same thing on the DJI forum and the Captain said it was the GPS from the Phantom. I guess time will tell.

I think when VanavaraDigital is able to compare the time stamp in the FlighLog file to the one in the Ashot then that will show how accurate (and if accurate [ edit - consistent] ) the TS is in that file. What is most important is that it is consistent. If it is consistently 40ms off, then you can adjust for that. But no need guessing. We will just wait and see what he comes up with.

(Tobias Dahms) #78

Ok. But I think the other explanation is more plausible for a telemetry protocol.

When I look at the telemetry log I see that the photo procedure takes about 2 seconds. Why did you choose the end? I would think the time which fits better would be the beginning (or probably the middle). I rhink most reliable is the “is storing” message.

It would be interesting if the time changes if you use a faster/slower card or if you use a lower resolution or raw/dng instead of jpg.

The update rate of the log seems to be a little bit more than 100 ms. Is it possible to reduce the load by deactivating some messages etc.?

There is also an interesting variation in the time the camera is active. That could be connected to the exposure time. Please also test different exposure times and note them for each image.

(Timmyd) #79

I am new to the FlightLogs and still learning. I flew a mapping mission yesterday so today I will compare the LED TS to the FlightLog TS. Today I will do the test that you mention (different card speeds, exposure settings, etc) I will make very good notes for each photo. I am going to be careful not jump to conclusions and wait on VanavaraDigital’s findings as that will be key information. It will show if the flight log is 1) Consistent and 2) Accurate.

Thanks for you help on this!


Just in case anyone is interested, I have made a comparison of various extracted timestamps from a recent flight of mine. I have extracted data from the DJI flight logs, Map Pilot app flight log, and compared them to the Emlid recorded timestamps monitoring the LED blink (coming back on). Photo exposure speed is shown.

DJI flight log has (GPS?) time, and gimbal time. The Map Pilot log has, I assume to be, photo trigger transmission times. I have used processing residuals from Agisoft Photoscan as a proxy for LED delay, with which I have calculated an approximate middle exposure time. I offer this data in tab separated text file for import into excel.

My takeaways,

  • too many missed and unexplained events in the DJI logs to bother using them as a source of timestamps. You’ll see all the gaps in rows.
  • event triggers extracted from Map Pilot logs are pretty reliable offset from exposure middle with a standard deviation of 20ms
  • DJI gimbal time was not as reliable as I’d hoped, nor was ordinary DJI (GPS?) time,
    with standard deviations of about 70-80ms.
  • Assumed time offset from recorded LED blink is more reliable than timestamps in flight logs with stdev of about 0.015ms.

You’ll see 5 skipped photos, which appear as Map Pilot trigger time without corresponding Emlid recorded LED event.

Also, no false LED events.

Timestamps results.zip (4.5 KB)

(Konstantin) #81

Hello friends.

I have flight.
In the flight I have made photos by AShot, 1.3 sec interval (see .pos file).
Last 5 shots in the .pos file are made by me with DJI go 4.

Please see folder with my files. I think the timestamp in the log is not the same as stamp in UBX.

Please download them here:



are the units still set to ship March 20 or are they available now?