You are here

April 2014

Bulk export GPS data from Ultrasport NavRun 500 watch

I have an Ultrasport NavRun 500 which is quite a decent GPS watch for running, but has a couple of software limitations - especially from the point of view of a linux (or mac) user. It uses a proprietary tkl file format which doesn't seem to be natively supported by GPSBabel. Unlike at least one Garmin GPS watch I've looked at, it doesn't mount as a storage device in linux; I'm pretty sure the only way of retrieving data from the watch is via the Windows-only GPS Master software, which includes the USB driver.

[edit] Shortly before ultrasport broke their site and made the pages for the NavRun disappear, a mac version of the GPS Master software was released, so it's not totally true to say it's Windows-only.

...and since then I've found the crane_gps_watch project on github. Once compiled and installed (clear instructions are provided), this seems to work nicely; I'm now able to retrieve new data from the watch in .tcx format from within linux, which is great! [/edit]

The GPS Master software is not bad - it uses Google Maps, has an okayish interface, and perhaps most importantly can export data in a few different formats (pth, kml, gpx, nmea and csv).

Recently I wanted to upload a lot of old GPS data (details of nearly 200 runs) to strava, and it seemed that in order to do so I needed to convert all of my data from the proprietary tkl format to gpx. Unfortunately it looks like the only option to do this conversion in the GPS Master software is as individual exports - one file at a time. If I wanted to convert all 200ish files, there was going to be a lot of manual clicking.

As a dedicated lazy developer I looked into my options for automating this process, and soon came across AutoIt which is a "freeware BASIC-like scripting language designed for automating the Windows GUI [...which...] uses a combination of simulated keystrokes, mouse movement and window/control manipulation". After a bit of looking at the excellent AutoIt examples and some messing around, I had a basic working script which could export the data from several runs into individual gpx files using the GPS Master software.

I've since refined it a little, added a couple of dialogs at the start to prompt for user input, and it's now a fairly usable little tool. The gpsmaster_export.au3 script (and both a 32bit compiled executable and 64bit exe) are available from my github account. I've tested it in WinXP and Win7.

The basic workflow to use this would be:

  • Use the GPS Master software to retrieve data from the watch.
  • Use the GPS Master UI to export at least one run to the directory where you want your data to end up (you'll probably want to delete this file before starting the bulk export, the idea is just to set the directory which the exports will end up in).
  • Close the GPS Master UI (File -> Exit).
  • Launch the gpsmaster_export exe (32 or 64bit depending on your platform - if in doubt try 32 first and 64 if that doesn't work).
  • You should then be prompted for:
    • Start at / e.g. 2014/02/22_11:47:41 or just 2014/02/22 or leave blank. Leave this blank just to start at the newest entry.
    • Stop at / e.g. 2014/02/22_11:47:41 or just 2014/02/22 or leave blank. The first item that matches this will not be exported.
    • Export type / 1-6 (tkl = 1, pth = 2, kml = 3, gpx = 4, nmea = 5, csv = 6). The default is gpx = 4.
    • Select the GPS Master.exe this should be a file browser open in your Program Files directory.
  • With any luck, you should then see the GUI run through the selected items exporting each one.
  • If it goes a bit wrong, you should be able to pause (and / or quit) using the system tray icon.

It's far from perfect, but it's already scratched my original itch. I'd be very happy if other people find it useful - feel free to leave a comment either way.