The following configuration works for me to synchronize my Suunto ambit watch data with my computer. Currently I am using Kubuntu 22.04 (LTS release).

Pull the latest sources from https://github.com/openambitproject/openambit (at the time of writing the latest commit is a3ebe71, and the development seems to be stale based on the latest commit message).

Follow the installation from source instructions in the README:

sudo apt-get install debhelper gcc g++ make cmake libusb-1.0-0-dev libudev-dev qtbase5-dev qttools5-dev-tools zlib1g-dev libpcap-dev libglib2.0-dev wireshark-dev qttools5-dev

cd /path/to/your/clone/of/openambit
./build.sh -DCMAKE_BUILD_TYPE=Debug

To remove the “permission denied” message when running the GUI via ./run.sh or ./run.sh openambit, use

sudo cp ./src/libambit/libambit.rules /etc/udev/rules.d/

See this issue on their Github page. Or maybe use sudo make install in the sources directory.

Now just use the GUI to synchronize data, it seems to store the XML files in ~/.openambit by default.

Using the ambit R package to work with data

Displaying leaflet map

  • Install package leaflet and dependencies
    • Package terra needs sudo apt install libgdal-dev

When you have a log file (here “your_track_file.log”), you can display the track on a map as follows:

library("leaflet")
library("ambit")

track <- "your_track_file.log"
gps_df <- ambit_get_gps(track)

# Start plotting. First set up map.
m <- leaflet() %>%
  addTiles() %>%
  addPolylines(
    lng = gps_df$lon,
    lat = gps_df$lat,
    color = "red",
    weight = 3,
    fillOpacity = .6,
    opacity = .6
  )
m

This displays the tracks on an OpenstreetMap, which is really neat. Unfortunately, the leaflet package seems to retire in the future (or it doesn’t?!).


Last updated: 2023-08-15