In preparation for a longer-than-usual upcoming trip, I swapped my Canon EOS 5D Mark IV for a Canon R6 Mark II. I feel RF has sufficiently matured for me to make the swap. I also took this opportunity to refine my selection of lenses based on my usage in past trips, resulting in a lighter total kit. There has been only one annoying downside: unless using the bulky external Canon GP-E21, there is no way to geotag the photographs in-camera. I do use this a lot to figure out where a shot was taken afterward when editing.

So my hunt for an alternative began. Finding a good GPS track recorder shouldn’t be hard, right? Wrong! While years ago, it was relatively easy to find some, today, this no longer seems to be the case. Ideally, I wanted something that supported multi-constellation for a better fix, especially in urban areas.

Canon does offer a way to have your smartphone2 connected over Bluetooth to do the tagging. This sort of works, but I had frequent connection issues when the Canon Camera Connect3 app got closed while running in the background. Sometimes, I had to complete the pairing process again before the camera would reconnect. The app also needs always-on location access (which makes sense), but it added a significant drain on the phone’s battery. A power bank for the phone and some improvements on Canon’s side could make this a workable option, but for now, it’s too fragile to use.

I asked around on Mastodon and got a helpful reply from Recovery Expert suggesting a Columbus P-10 Pro4. After my somewhat disappointing experience, I continued looking for alternatives and also got a COROS PACE Pro5.

Columbus P-10 Pro

If it can deliver what it claims—multi-constellation (GPS, GLONASS, Galileo, BeiDou, and QZSS), dual-frequency, <1 meter accuracy—at 239,00 EUR, it’s still a steep price but should be worth it.

It sadly doesn’t deliver. That being said, it’s not a bad device, but it doesn’t meet my expectations for that price point. It also doesn’t come with any storage, so you will need a good quality microSD card as well. I ended up getting a high-endurance SanDisk one. My go-to Kingston microSDs I use in my Raspberry Pis didn’t want to work, neither did a cheaper unknown-brand one I had lying around.

Now, with that out of the way, I ended up using the CONFIG.TXT to configure the device. It didn’t need a firmware update as it was already on v2.4 (newest at the time of writing).

This is the configuration I ended up going with:

[SETTINGS]
TimeZone=+00:00
SpeedAlert=OFF
AutoPowerOn=OFF
Beeper=ON
FunctionButton=Pause
[RECORD]
Format=NMEA
LogMode=1Hz
SpeedMask=1
SpyModeTimer=5
OneTrackPerDay=ON
[UNIT]
Speed=km/h

I switched to NMEA log format, so I have HDOP info, and enabled OneTrackPerDay.

It’s pretty easy to use: turn it on, wait for a fix, turn it off when finished. Using a microUSB (would have loved USB-C here) cable to hook it to your computer of choice makes the microSD show up as removable storage. You can even enable a Motion Detection mode where it stops logging if the device is not in motion.

There are three LEDs indicating the various states of the device. They are simple enough to understand. The device is also compact. It looks pretty sturdy, but it feels cheaper than it looks in your hands. There are port covers to keep the rain and dirt out, but I wouldn’t feel comfortable dropping it on anything other than sand.

But the main gripe is getting a fix. There is no way for the device to download up-to-date GPS correction data, nor is there a way to provide it via the microSD. It takes about 1 to 5 minutes to get a good fix (LED blinks green). I have never seen it get an excellent fix (LED blinks blue), not even when going into a field with clear skies and no trees/buildings for a 5 km radius.

The HDOP value isn’t horrible though; it hovers around 1, even in light urban areas, although the track loses accuracy compared to a field or forest. However, in the city, it performs very poorly—sometimes it takes more than 5 minutes to get a fix, and once you go in and out of a building, it has to start all over again. Not waiting for a fix before continuing seems to make it take even longer, which is not ideal when traveling in a city. During some testing, I finished my morning walk from work to the bakery to buy breakfast without it ever getting a fix (about a 15-minute round trip).

I had the device held as instructed for the best possible fix or clipped to my backpack while testing.

The POI button only works when logging in CSV format. If you want HDOP info, you need to log in NMEA format. Technically, GPX should support waypoints and HDOP/Satellite information, but the firmware does not include those, which is a shame. Although theoretically, they could fix/add this with a firmware update in the future, that seems unlikely. Currently, I log in NMEA format and use gpsbabel to filter out poor HDOP values using the following command, which results in a usable GPX track I can use with Lightroom. HDOP <5 seems to be a sweet spot for a clean but usable track.

nmea2gpx () {
	if [ -z "$1" ]
	then
		echo "Usage: nmea2gpx <input> [output] [hdop_discard]"
		return 1
	fi
	input_file="$1"
	output_file="${2:-"${1%.*}.gpx"}"
	hdop_discard="${3:-5}"
	gpsbabel -i nmea -f "$input_file" -x discard,hdop=$hdop_discard -o gpx,gpxver=1.1 -F "$output_file"
}

nmea2gpx mylog.txt

Good

  • Compact
  • Long battery life (charged it once so far and have around 36h of usage on it)
  • Easy to use
  • Configurable and firmware upgradable

Okay

  • Build quality
  • Both GPX, NMEA, and CSV logging formats (Although CSV is their own format, gpsbabel can parse it.)

Bad

  • Long time to fix
  • Only CSV format includes POI markers
  • Only NMEA includes HDOP/Satellite values

COROS PACE Pro

I have never been a big watch wearer, finding something on my wrist annoying while sitting at a desk and typing, and my phone is perfectly fine for telling the time. However, the PACE Pro with a nylon band is surprisingly light and does not hinder me while working at a desk.

Initially, I was only going to wear it for a few days while trying to figure out if it would work well for GPS logging—after all, it wasn’t designed for it. But it offered multi-constellation (GPS, GLONASS, Galileo, BeiDou, and QZSS) and dual-frequency. The advertised battery life when doing so is a lot less than the P10 Pro, but it should be sufficient if I charge it daily.

But here we are a week or so later. While you do notice it sometimes, generally, it doesn’t get in my way while working at a desk or doing day-to-day things. And I’ve come to like some of the features I didn’t buy it for, like tracking my sleep quality and evening workouts, however small or short the latter may be.

Back to GPS logging—it does a very good job but with a few gotchas. You have to go through the iOS or Android app to export the tracks. Luckily, I can Airdrop them to my MacBook. It supports a few formats, with the one containing the most information being the FIT format. However, it also supports GPX directly, including waypoints, speed, and heart rate. Sadly, there’s no HDOP or satellite count. Some sources say that the FIT format does include HDOP, but I haven’t been able to confirm this.

I did reach out to their support with some questions, and they got back to me within an hour. The watch comes with a way to view all the satellites in range and their fix quality. I was able to confirm that, most of the time, I saw over 20 satellites and had a mix of GPS, Galileo, GLONASS, and even the occasional BeiDou! I’ve been using it in Dual Frequency mode, and so far, their claim of 31 hours on a full charge seems accurate enough. I have around 6.5 hours of GPS usage, and my charge is currently at 70%. I last charged it three days ago and used it for sleep tracking and evening workouts, too.

I did a few walks with both the PACE Pro and P10 Pro logging at the same time, and overall, the PACE Pro wins on all fronts. The track is cleaner, it usually only takes 5-10 seconds to get a fix, and it does a good job at detecting when you are not moving. It handles tracking in urban areas very well, meeting my expectations where the P10 Pro does not.

This does come at a cost, though—around 399,00 EUR for just the watch with a silicone band. I highly recommend getting a nylon band, which is another 29,00 EUR. No need for extra storage, as the watch comes with 32GB built-in.

It also supports navigation based on a GPX track using a map. This is just an okay experience, but it’s a nice surprise feature I hadn’t considered before.

I mentioned earlier that you need to use the app to export the tracks, but that was not the only hurdle. Not all activities will log a GPS track, nor will they allow you to pause and resume them later. I ended up modifying the Trail Run activity as it does support resume later. Sadly, when you start an activity, you lose access to the watch face. There are some nice ones showing time to sunset or sunrise/sunset times, which come in handy for photography. There is also a nice view with even more info like Solar Noon, Dawn, and Dusk for today and the upcoming days. However, all of this is inaccessible while the activity is active. Luckily, there is a lot of customization possible using the iOS/Android app, so I completely removed all activity pages from the Trail Run activity and added one page just showing the time, sunrise/sunset info, and battery.

I use it by starting the Trail Run activity. It doesn’t lose tracking for things like a short tunnel and quickly recovers when going in and out of a building. However, I found that pausing the activity and manually resuming it works better if you are going to be indoors for a longer period of time. It saves a lot of battery, and you get access to the watch face again—well, assuming you modified one of the few activities that support resume later. It would be really nice if that option were available in a custom activity. Additionally, being able to disable heart rate logging for a custom activity would also be welcome to extend battery life a bit more.

Good

  • Tracking is excellent even in urban areas
  • Very short time to fix (max I’ve seen is 15 seconds)
  • Syncs weekly GPS correction data via app
  • Screen looks amazing
  • Comes with a nice satellite app on the watch to check your fix

Okay

  • Requires some unconventional use
  • Maps
  • Navigation from GPX track
  • Extra adapter needed to charge (luckily USB-C)

Bad

  • Needs iOS/Android app to export tracks
  • Custom activities do not get all options (no resume later, no control over extra info logged like heart rate, etc.)
  • Downloading map data requires WiFi
  • Only 2.4GHz WiFi support and only WPA3 with a non-hidden SSID
  • While in an activity, watch face and sunrise/sunset info are inaccessible