MK GPXTool is a private project and was not developed by

If you have any questions about the Program, please contact the Author directly or use the forum, the email address is in the Menu "?" -> "About MK GPXTool"


Program for visualization and analysis of MK .gpx log-files
(Video of this flight is here)

Download the latest version here (Jan 18, 2017 v1.6.4): (Changelog)

(In the menu '?' -> 'About MK GPXTool...' you can find the 'DONATE'-Button, many thanks!)

Please read the instructions "Help/Initial Start" carefully!


- Virtual OSD(!): Virtual OSD which can be merged and displayed with the relevant video of the flight (GPX data can be synchronized with this video)
- Virtual OSD synchronization settings can be saved in the video file folder for later replay
- Artificial Horizon / Compass is continously updated 10x per second with the logs entries (second to second) (interpolation)
- GridView table with all values, additionally the values ErrorCode and NC/FC-Flags etc. can be displayed as Text, errors are highlighted in Red
- Map Window with the flightpath is superimposed on Google Map, Waypoints, several customizations of the display
- Supports .mkz and .jpg Maps (with GEO-Information in EXIF comment)
- Player Window, lets you play back the Track Points (without Video), variable playback speed
- Sticks/Potis Window with Graphical und nummerical view of Stick/GPSStick positions
- Displayed range is selectable
- Display of the 'Log' folder in tabular form sorted by Year/Month, Display of the number of Logs/Folders
- Display of the 'Date'- Folders (number of Logs contained, Size, Start Time per Log, converted from UTC to Local Time)
- Up to 10 independant fully animated GraphViews (Value Axis Zoom, Time Axis Zoom, xy can be shifted)
- Snapshot View of all important values, incl. Min/Average/Max Values, Error Messages, Flight Duration etc.
- Additional calculated Values (Watts, "Ground distance", "LOS", ....)
- Display of all possible Error Messages in the Snapshot View (Low Batt, Failsafe, Emergency Landing... etc.)
- All window positions/sizes and selected values will be saved!
- Values can be toggled between "RAW/METRIC/INCH"
- Automatic detection and reading of defect/interrupted .GPX-Files
- Opening of .gpx-files in the MK GPXTool by double-click, or via Command Line-Parameter, or singularly
- Comprehensive graphic display of all Flags
- Export to .csv - all or selected entries, with currently selected values and selected unit (RAW/METRIC/IMPERIAL)
- Automatic detection of the SD Card when inserted and transfer of the Logs
- 5 Different configurations possible
- Comments can be added to date-folders (yyyymmdd_xyz)
- Load logs partially with Options
- Generate summary from multiple logs
- Combine multiple logs into one and display

Help/Initial Start

Once started the program will display the root folder "Log" where you ideally will have copied all your log files from the SD card. To select it right-click "Select log directory". The program will remember this setting and in will re-load the folder with left-click on subsequent uses (if you have added new log files to this folder).
If your logs are at c:\log\20120518\GPX\*.gpx, for example, you only have to select the root folder "c:\log" .

Now you will see a list of folders sorted by year / months / date. When you expand these, by clicking on the "+", the individual log files will be displayed. Click on the date, and you will see a list of the logs with basic information. Clicking on any of these will display a snapshot view of the main parameters. The log is now already loaded into the program and you can select individual display windows form the task bar at the top.
The dropdown-list "Config 1" lets you save up to 5 different display selections. To change the displayed values in "Open GridView" and "Open new GraphView" click on"..." at the top of the respective windows and make your selection by using the "left" and "right" arrows to adlete or add to the "selected values" list. Selection of multiple values follows the Windows convention using "SHIFT" or "CTRL" and click.

Open .gpx files with a doubleclick in MK GPXTool

MK GPXTool accepts a .gpx file (with path) as a command line option, with that you can enable your Windows Explorer to open .gpx-Files with MK GPXTool if double-clicked.

How to do this is explained here.

Adding a Video in VirtualOSD:

The VirtualOSD uses the Media Player addin. If Media Player can display your video, it will play in VirtualOSD. You may have to install additional Codecs if you get an error message (Haali media splitter for GoPro .mp4-Dateien for example.) and test that it runs successfully in Windows Media player.

Synchronise Video:

After motor start, or even a few seconds later when thrust is applied for the first time (that when the log starts recording), click "SyncStart" in the video. Now fast forward the video to the position where the motors are stopped and click "SyncEnd".
Possibly you may have to click "SyncStart" with some delay after motor start (a bit of trial and error here).

Important: Only after you have slected BOTH "SyncStart" and "SyncEnd" the trackpoints will be played in sync with the Video.
Once you have done this a click on the video time opens a a small adjustment window. Here you can fine-tune the StartSync and EndSync time by +- 100ms.

Hint: the display is ahead of the Video >> StartSync +100ms, the display is behind of the Video >> -100ms

Synchronize Log with Video (Log is longer than Video, i.e. Video was started during the flight):
To reverse the synchronization process, select "Sync" in the menu and click"Sync from Log".
The video will not start with this.
Now you select the postion in the log where the Vidoe was started and click "SyncStart".
Then go to the end of the log and click "SyncEnd".
Finetuning can again be achieved by clicking on the video time to open the "SyncDetail" window.

{i} Since the values are updated in 1 second intervalls, the video can only be synchronized over its full lenght. Anything that happens within one second of video will be displayed in the OSD either matching, advanced, delayed or not at all. This is a limitation caused by the logs structure.

As already said, a bit of trial and error is involved with SyncStart and SyncEnd to find the right position.

A practical example of a video I synchronized:

Video duration: 08:35 (Motors start at 00:15 in the Video and stop at 08:15)

I play the Video and click at 00:15 "SyncStart"
then I move the slider under the video a fraction before 08:15, play the video, and on motor stop at 08:15 click "SyncEnd"

Now I click SyncStart, watch the video and compare it with the OSD. It helps to find a point in the video where the copter emits a beep (flight mode change). You hear the beep in the video and see thze mode change in the OSD. Alternatively you may find a position in the video where you apply a lot of yaw and the compass starts rotating.

In the SyncDetail window the SyncStart-value can now be fine-tuned to a near-perfect match. (The SyncEnd-value is always pretty accurately in sync with the motor stop and hardly ever requires fine tuning)

In my example video the StartSync in the SyncDetail-window is at sec 34.496... and EndSync at sec 494.824... the sync difference is 460.3279323

Now, when you play the video from the start the log will start to follow with entry 1 from video-second 34.4. At video-sec 494.8 the log has reached the last entry and the synchronization stops.
You can now jump to any position in the video with the log going to the matching entry and running in sync from there.

Auto-Transfer of the logs from the SD Card:

If in the menu item "Settings" you activated "Auto move new logs" the program will automatically detect if an SD card with MK logs is inserted.
A window will open and display how many new logs and directories are found.

You can choose if you want these to be moved into the current local log-directory.

If an identical date-directory already exists, i.e you flew on the same day, emptied the SD card and flew again, the new .GPX and .KML files will be automatically renamed in increments of 1.
For example:
File "GPS00000.GPX" becomes "GPS00001.GPX"
File "GPS00000.KML" becomes "GPS00001.KML" etc.

(The applies also to any other files which already exist in the local directory.)

General Information:

You can create and store up to 5 configurations, each with their own log-path, window positions / sizes, selected values etc.

If you select a new empty configuration, the first one will be automatically copied. If you change from one configuration to another, the previous one is saved automatically.

To copy an existing configuration into another, choose "Import config" from the "Settings" menu. This will over-write the currently selected configuration.

By saving of the Sync-Data in VirtualOSD ("Save sync") a new file, containing the file name and path of the video file, with the extension ".sync" is created. (If you want to save the sync-data, the video must be loaded from a writable location).

On exiting the program the files "MK_GPXTool.ini", respectively "MK_GPXTool_2-5.ini" for the different configurations, will be created in the program's folder.

The rest of the program is pretty much self-explanatory... (Please notice the Tooltips!)

GEO-Info Tool

With GEO-Info Tool you can identify GEO-Information for your own Maps with help of Google-Map easily.

Hint: Click Right Mousebutton to open context-Menu where you can open a little Help-Window showing you the "hidden" features and key's you can use.


- In Google Map load the position where your Custom Map can fit in

- Open GEO-Info Tool and load the Picture of your Custom Map (right click... „Load Map“)

- Now you can match your Custom Map with the Goolge Map (Change Picture Size and Transparency, use CTRL to switch on and off Transparency several times, and you can easily detect if there is a mismatch or not)

- Press the Button with the arrow pointing top left, the Window is closing itself for a very short time to make a Mouse click on the Google Map where the first Pixel of your Custom image is, revealing the Coordinates which you can write down or copy

- Press the Button with the arrow pointing bottom right, the Window is closing itself for a very short time to make a Mouse click on the Google Map where the last Pixel of your Custom image is, revealing the Coordinates which you can write down or copy

- Use your Mikrokopter Tool to insert the coordinates in the Custom Map, Done!

Report problems and bugs

If you find any errors please report them in this Forum-Thread and include detailed and reproducable instructions how you got there. Screenshots are also a great help.

My testing platforms so far are Windows XP Pro SP3 with Windows Media Player 11 and Windows 7, Vista should also work.
.net Framework 2.0 is a minimal requirement, and is most likely already installed on systems since XP.

Many thanks to all who are contributing and have fun testing!