TomTomWatch

TomTomWatch

TomTomWatch is a Java application for downloading content from the TomTom GPS watches. I created it because I do not want to use the TomTom cloud for maintaining my tracks.

TomTomWatch

The software downloads the track files (ttbin files) from the watch. By default the ttbin files are automatically saved in a similar directory structure as TomTom MySports. It is possible to export the tracks to GPX 1.1 format. Since version 0.2 it is possible to upload track planning (routes) from GPX (route must be present as route <rte> or track <trk>).

I miss the function on the TomTom Watch to log waypoints. A special feature of TomTomWatch is the logging of Waypoints when saving to GPX: when during your workout or trip you pause track logging and resume within 5 seconds (default), the GPX converter treats it as the logging of a Waypoint. If the pause is longer, the GPX converter treats it as the start of a new track segment.

20170423_102544

Download

Source is available on GitHub.

Release notes

Version 1.4 (under construction)

  • TBD

Version 1.3 (01-01-2018)

  • Support for the Multisports (tested and debugged)
  • Heights from Google Elevation Service for non Adventurer watches
  • Software updates now include BLE updates
  • List routes button
  • Factory reset (in debug mode)
  • Several small improvements

Version 1.2 (26-11-2017)

  • Listing of watch settings
  • Watch sync to PC clock
  • Code improvements
  • Added heart rate recovery (bpm/min, score) from TTBIN file
  • Added additional <extensions> fields to GPX trk (device, track smoothing factor, fitnesspoints) and trkseg (hr recovery, hr recovery score)
  • Added climb (cumulative hight increase) to trkpt <extensions> in the GPX
  • Added HDOP (Horizontal Dilution of Precision) to trkpt <extenions> in the GPX

Version 1.1 (30-09-2017)

  • Bug fix in firmware upgrade function. Firmware upgrade tested 🙂
  • Added watch reboot feature to debug menu
  • Added file upload feature to the debug menu
  • Added support for ttbin version 10 (since firmware 1.6.26)
  • Added tracked activity (steps, calories, distance, heartrate, sleep, etc) display
  • Added delete feature for tracked activity (delete 0x00b1nnnn files)
  • Added playlist display feature
  • Display of TomTom ‘Activity Points’ in track overview
  • Automatic detach of USB driver under Linux
  • Serial number display (does not work under windows due to bug in USB lib)
  • Several small bugs fixed

Version 1.0 

  • Technical functions in debug menu. By default not shown. Enable from properties file.
  • Firmware updating added (UNTESTED!!!)
  • Simulation mode in which the software runs on the downloaded watch data (debug function; enable from properties file)
  • Download watch data for simulation (debug function)
  • Deleting individual files (debug function)
  • Save individual files (debug function)
  • Display of device log and device update log  (debug function)
  • Code improvements
  • Code to GitHub, converted to Maven
  • Track smoothing added

Version 0.3 (21-05-2017)

  • Automatic display of last imported track
  • Display route map when selecting GPX file for route upload
  • Distance indication in list of routes on device
  • List of history (tag-value list for the last 10 activities per type; next to history summary)
  • Erasing of all history & route data
  • Route directory added to the configuration file
  • Long routes compressed to max. 500 route points (like original TomTom MySports route planning)
  • Code improvements

Version 0.2 (05-2017)

  • Upload routes from GPX (track planning)
  • Erasing routes
  • List of routes on device (ID and name)
  • Show preference file
  • List files on the device (ID and size)
  • Set Device Name
  • Save file from the watch as binary file to disk
  • List history summary (last 10 activities per type)
  • Improved error handling
  • Activities sorting
  • Upload of ttbin files from disk (for conversion to GPX format)
  • Resolved small bugs

Version 0.1 (05-2017)

  • Show watch name
  • Show watch time (UTC)
  • Download of ttbin files
  • Google maps preview
  • Automatic saving of ttbin files in a similar structure as TomTom Mysports
  • Export to GPX format
  • Erasing the ttbin files from the watch
  • Upload GPS Quickfix data
  • Configuration via tomtomwatch.properties file

Known issues

  • Wrong icon, wrong picture: I-GotU iso. TomTom 🙂
  • Serial number of watch cannot be read due to a bug(?) in USB4Java lib
  • Tested on Adventurer, Runner 3 Music, Multisports Cardio
  • Watch time is displayed in UTC on the screen

Refer to the Reverse Engineering Page for a description of the TomTom Watch interface.

Guinea pigs used for testing: Multisports Cardio, Runner 3 Music, Adventurer

Details

Debug mode

When setting debuggingMenu=true in the tomtomwatch.properties file, an additional menu becomes enabled, allowing to perform file operations. Be warned that you might ruin your watch when using these features.

Height from Google elevation service

Apart from the Adventurer, the watches do not measure elevation. Optionally, the elevation can be requested from the Google Elevation Service. An API key from Google is required.

To enable this feature, set heightService=google and fill in the API key in heightServiceKey in the properties file tomtomwatch.properties. Next graphs show the comparison between the height as measured by the Adventurer and the height data as obtained from the Google Elevation Service. Resolution of the Adventurer is 1 m, clearly visible in the third graph.

Mountainous area

 

Small height changes; peeks in the Google curve correspond to forests, apparently top of the canopy, whereas I run on the ground… Small deviation of the Aventurer curve (start and end should be at the same level) due to barometric pressure difference during the trip

 

Flat area with a 30 m hill, apparently flattened/averaged out by Google

 

Heart rate sensor

The cardio watches contain a heart rate sensor.These sensors measure small differences in blood perfusion in the wrist due to the heart beat. Under some circumstances blood perfusion is too low to measure. These kind of sensors pick up other beats, like pace when cycling or running. Next graph shows the sensor measured heart beat and the heart beat measured by a chest strap during the same run. The latter is far more reliable.

 

Credits

The application is based on the excellent ttwatch application of Ryan Binns.

Libraries used:

Disclaimer

I provide the software for free, including source code. The software may contain bugs. It might damage your TomTom GPS Watch. I won’t take responsibility for any damage.