Crane GPS Watch client for Linux and Windows
Copyright (C) 2014-2015 firstname.lastname@example.org
Crane GPS Watch client is an unofficial, alternative open source Linux and Windows program for downloading GPS tracks from different GPS watches.
The program provides an alternative to the "GPS Master" software which is usually shipped with the watch. It does not provide many of the features of "GPS Master", but works cross platform and from the command line.
Supported watches and firmware version:
1.20.22_KRIP0_00unknown model and Crane GPS Watch from Aldi/Hofer
1.20.21_KRIP0_00Ultrasport NavRun 500
1.20.03_KRIP0_02some other crane watch
1.20.22_DLES0_00Conrad Multi NAV-3
1.20.21_DLES0_00Conrad GPS Nav II
1.20.26_RUNT0_00Runtastic Gps Watch
As the watch is commonly rebranded, the following watches might just work:
I guess that all GPS watches delivered with "GPS Master" software work. Please understand that this tool will not provide firmware updates for your watch. Check for updates with the original software.
Krippl Watches is probably the importer/brander of the Crane watch. The site lists several other re-brands of the GPS watch:
Communication protocol: http://www.usglobalsat.com/downloads/SiRF_Binary_Protocol.pdf
The TCX format is used instead the popular GPX format, for the following reason: The GPS watch is able to record workouts where only heartrate is available, no GPS. It is not valid to create GPS records without coordinates. In TCX, this is possible.
If you require a different output format, have a look at gpsbabel. The program can convert between many different formats (e.g. GPX). Or file a feature request.
Lap information is not yet stored in the output file. This is being worked on. https://github.com/mru00/crane_gps_watch/issues/8
crane_gps_watch_client --help # show the help screen crane_gps_watch_client [--clear] # delete workout info on watch. [--output "filename"] # override default filename, write single file for all tracks. [--epo "epo-file"] # download epo data [--split] # write file for each track. [--device "/dev/tty..."] # override default device file / com port. [--to_image filename] # write watch data to file <for testing>. [--from_image filename] # read watch data from file <for testing>. [--verbose] # write debug output to console. repeat to get more output.
As default, the output file is written in the current working directory.
The filename is created from the current time and date. Use the
to specify a different filename.
--split makes the program write a single .tcx for every track currently stored on the watch.
Default is to write a single .tcx file that contains all tracks. When this option is used, the
is ignored. The files are written in the current directory. The filename is taken from the start time of the workout track.
If a file already exists, it will be overwritten.
--device option is used to specify the device file, default is 'auto'. 'auto' enables
the automatic port detection. If auto-detect does not work for you, please file a bug report.
--clear clears the workouts from the watch after they are successfully transfered.
--epo allows you to download EPO data (MTK7d.EPO) for AGPS. This feature is still in development.
I still don't know the proper way to obtain MTK7d.EPO files. The article https://geekblog.kevredon.org/?p=556 lists
Please note that I (the developer) am not affiliated with any of the manufacturers listed. The protocol is implemented completely clean-room only by observing the behaviour of the watch, without any attempts to infringe copyrighted material. The original software and firmware was not reverse engineered in any way.
All trademarks mentioned belong to their owners, third party brands, product names, trade names, corporate names and company names mentioned may be trademarks of their respective owners or registered trademarks of other companies and are used for purposes of explanation and to the owner's benefit, without implying a violation of copyright law.
This software is distributed under the GNU General Public License. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details or file COPYING.
Bug reports & Feature requests:
Please report problems, bugs, feature requests and success messages either via the github issue tracker or mail.
If the generated output files are wrong, please create an image (
--to_image) and send me the image with a
description of the expected output.
I can only test 32bit executables, but users built and run successfully on 64bit. If you have issues on 64bit systems, please report them.
Crane GPS Watch client uses make to build:
## Clone source code archive from githup repo: git clone https://github.com/mru00/crane_gps_watch.git ## or download Zip file: wget https://github.com/mru00/crane_gps_watch/archive/master.zip unzip master.zip cd crane_gps_watch ## build the software ./configure make ## install the software sudo make install
Make sure you have the rights to access the serial port. Usually you have to
be member of the
dialout group (debian based distros) or
uucp (Arch Linux). Consult a
to find a solution for other distros and let me know so I can update this documentation.
make check can be used to run the test suite. The test suite requires
additional programs to be installed:
See INSTALL for details. Note that it is possible to install without root rights, use the
./configure --prefix=... option.
Please also have a look at
.travis.yml, which describes a full build for the
Travis-CI platform, including all dependencies.
Cross compilation for windows:
The program also works under windows.
Windows installers are available in the
The program works using Wine, except access to the com port. The testsuite on Travis also builds and checks the windows executable with the same testcases.
To build for windows, use
sudo apt-get install mingw-w64 ./configure --host i686-w64-mingw32 --build i686-linux-pc wine ./src/crane_gps_watch_client.exe --help
The script requires the package
python-pyudev to be installed.
This repository also ships the scripts
gps_watch_monitor.py is intended to be auto-started with your X session.
To enable auto-start copy the file
gps_watch_monitor.desktop (usually in
/usr/local/share/crane_gps_watch_client after installation)
It monitors the UDEV bus for
new connections on the USB bus. If the watch is connected,
it will start
gps_watch_onconnect.sh in a terminal window.
gps_watch_onconnect.sh can start the client to import the files,
and execute additional tasks. To customize the default behaviour,
copy the script (usually
to your home as:
modify it to your needs.
- get more details about the watch itself (manufacturer, architecture), firmware upgrade server...
- AGPS download
- Auto-scan for serial port
- clear watch memory
- find proper name for the project
- Implement filters (e.g. correct altitude data from online sources)
- http://www.movable-type.co.uk/scripts/latlong.html for distances in tcx files. would be required for turtle sports
- Gps Visualizer
- Sport route planner
- My Tourbook works great with the TCX files. I like it.
- Viking GPS data editor and analyzer
- Alternatives to My tourbook
- Turtle Sport does currently not work with the tcx files, due to a bug. Use gpsbabel tcx->gpx and import gpx instead.
- serial port monitor
- good blog post about GPS Master with the Pyle watch
- Kalenji gps watch reader, support for W Kalenji 300, CW Kalenji 700, On Move 500, On Move 700, Kaymaze 700
- crane-gps-watch, reverse engineering repository of this project, written in perl, easy to hack&test stuff.
- genx xml library.
- Inno setup
- All contributors!