Auto Ads by Adsense

Booking.com

Tuesday, November 27, 2012

Product Review: Garmin GLO bluetooth GPS unit [guest post]

For 2 years or so, I’ve been using a track-recording app on my Android phone to plot my courses on cycling and running excursions. I’m a cyclist, but in the past 3 years I’ve added running to the mix of things I do. On cycling trips, a cyclecomputer will tell me things like ride distance, average speed in motion, etc., but there’s nothing easy to wire into my running shorts to get the same effect on a run. I got interested in tracking runs with GPS, and it snowballed to tracking rides that way as well pretty directly. I was already carrying my phone with me in case of emergency or mechanical failure anyway.

Also, in about the same time frame, I got more active in a social media scene, after Google+ launched publicly. Posting about a completed run or ride, including the exact track, has been a reasonably nice use of the platform. And for the morbidly curious, here’s my Strava profile. I typically log all runs there -- I can’t get good metrics on them otherwise -- but I only log notable or unusual bike rides.

Over time, though, I noticed a couple of problems with using my phone to lay down a GPS track:

  1. Recording adversely affects battery life. I’d get maybe 8-9 hours tops before the phone was nearly out of juice.
  2. On the phones I’ve recently owned [1], GPS accuracy is fairly poor. In fact, even staying stationary in the open, the GPS position will jitter.

Both of these factors conspire towards making one adopt a behavioral tic: when stopped for a considerable length of time, hit the “Pause” button on the GPS-track recording app [2]. When the ride or run resumes, unpause and resuming recording. Which brings us to another pair of problems:

  • Pausing the phone for every traffic light, 2-minute drinking break at a water fountain, etc., is a prohibitive pain-in-the-butt, so you’ll just have to accept the jitter sometimes.

  • At the long stops, where you do take the trouble to pause: will you remember to unpause the GPS app when underway again? It’s easy to forget!

It seems most people deal with these problem by buying a Garmin GPS-enabled cyclecomputer or GPS training watch. The latter would be a better choice if running is in the mix. I didn’t give this option too much consideration, though. I like the idea of having a smartphone with a reasonable amount of computing and interactive power recording my ride. I also like uploading activities to the web directly from the device. Tethering [3] my recording device to a full-sized computer at the end of my rides to do anything at all interesting with the data appears to be the usual option with Garmin, and it seems... less appealing. Maybe I’m just impatient, but I like to have the basic thing that I do with a ride taken care of on its completion, not as part of some post-completion task. Sometimes a post-completion task that I’d be hours away from being able to complete -- many of my runs and rides do not end at home.

Then I heard (from an office e-mail list) some prerelease buzz about the Garmin GLO. Part of the context of this discussion was “hey, the Garmin Connect software ecosystem is kinda poor; this would be a way to get good Garmin data without having to butt heads with the software.”  This is perhaps hearsay, though; I’d love to hear some more definitive opinions on that in the comments.

The GLO is a small external GPS receiver which connects to a client device via bluetooth. Speaking more accurately, the device locates and tracks GPS and GLONASS satellites; the latter is a parallel system to GPS, largely workalike, with roots in the old USSR aerospace sector. It is also the namesake acronym for the device. An Android or iOS device can be configured to use the GLO as its GPS data source rather than the built-in GPS hardware [4]. The GLO gets its initial GPS fix relatively quickly -- though more on this later -- and once fixed, updates its position at 10 Hz. (With a phone, you’d probably be lucky to get a 1-Hz refresh.) Advertised battery life is 12 hours between charges.

What does it look like? Here: next to a deck of cards, for scale. The GLO is slightly slimmer than the deck.

The middle LED monitors the Bluetooth connection between the device and its counterparty. The lower LED is a GPS signal and battery status indicator. It is mounted on a push button that turns the device on and off.

GPS accuracy with this device was hyped as being quite good. Great! The promise of that was enough to justify the $99 asking price alone. The next potential benefit: a bluetooth GPS unit could be good for phone battery life by offloading power-hungry GPS calls to an external unit (and battery) and substituting lightweight bluetooth calls in their stead.

I hoped that if the battery-life improvements were good enough, maybe I could generally keep the unit recording continuously rather than worrying about pausing at long stops and forgetting to unpause later on.

Setup Guide

Given that there’s no good guide for setting up this device with Android elsewhere on the web, and it wasn’t entirely trivial to figure out, here’s a quick how-to:

  • Turn both devices on.
  • Pair your phone and the GLO via the standard approach for bluetooth devices.
  • Install the Bluetooth GPS app onto the android device.
  • Launch the app
    • Go into the settings, and allow the phone to “Use Insecure Connection” (which isn’t checked-off/allowed by default).
    • Back in the Main App screen, check the box to “Enable Mock GPS Provider”. This will take you to a developer option in the phone settings.
    • Back in the Main App screen, touch the dropdown to select the source GPS device. It’ll be “Garmin GLO #6eadb” or something similar.

All of this is one-time setup. That done, connecting to the GLO is then just a question of launching the app and pressing the big “Connect” button.


I can’t directly comment on the setup process on iOS, though copy associated with the product makes me suspect it is less involved, as the device is specifically certified as compatible with Apple devices.

Initial Results


GLO accuracy is much better than base phone GPS accuracy. Here’s how a segment of my typical run to work looks if recorded with the base phone GPS (image taken from http://app.strava.com/runs/18462316):



and here’s how it looks with the GLO (http://app.strava.com/runs/19567252):

Much smoother, even scaled down a bit so as not to be unwieldy on this page, and generally much truer to my actual path. The GLO will still be off by a bit sometimes -- there are still lots of tall buildings in Manhattan, certainly -- but typically the egregiousness of this error is much reduced.

In fact, the built-in phone hardware was typically overstating the length of my runs by about 10%.

I haven’t yet completely run down the GLO battery in a single go, but the advertised life of 12 hours seems to be about right.

On the phone side of things, though, I wasn’t realizing the gains in battery life I was hoping for. Using the GLO was draining my battery more rapidly! Seemingly relatedly, my phone was warm to the touch after prolonged GLO-linked use.

Debugging battery life issues, and the solution


The first thing I checked was whether explicitly disabling the onboard GPS hardware made a difference when using the “Mock” source instead. This didn’t matter, though.

“Google Maps” was listed as the culprit application or process in the battery usage log, with the Strava App coming in distant second. Hmmm.

Then I noticed that for trips of 3+ hours, the Strava app would have trouble successfully uploading to Strava’s cloud servers at all. Digging into the underlying storage on the phone, I realized that the underlying .gpx files the app was creating were unusually large when using the GLO compared to without.

A-ha! The refresh rate on the GLO is 10 Hz, compared with maybe one update per second with the built-in hardware. How frequently does the Strava App poll for updates? Best as I can tell, it does so continuously, as fast as the device will allow for it. My conclusion is that the app was not engineered for the GLO’s speedy turnaround time, and was running itself (and my phone) ragged trying to keep up with all the updates.

Alas, the Strava app does not allow manually tuning the GPS refresh rate; it only offers ASAP behavior. MyTracks allows for tuning, though. I was able to reproduce the same battery drain & warmth effects with MyTracks at its default settings, but dropping the refresh rate down takes care of it immediately. Battery life was obviously improved with a 1-second polling interval, marginally improved further from there with a 2-second polling interval, and debatably improved again with a 5-second interval. Lately I’ve been using a 5-second interval.

With this tweak in place, battery performance seems to improve slightly over the non-GLO alternative, but not remarkably so. It’s still advisable to pause recording at a long stop [5].

Also, MyTracks’ introduction means that my workflow on the phone does not include automatic upload to Strava when the ride is done. Instead, I save the file to the device in GPX format, and then “share” the track file by email, To: upload@strava.com . It’s unfortunate. If I know a workout will be short, especially if I have means to charge my phone on the other end, I’ll often opt for the Strava app instead, heedless of the battery implications.

I’d also note that even if battery life weren’t at issue, pausing at long stops would still be good idea, if the stop involves a trip indoors. Movement indoors can cause apparent jitter in position even if there is none in actuality, as the GLO gets partial or reflected readings even inside the building.

Not just for run- and ride-tracking


I’ve also paired my phone with the GLO when getting ordinary turn-by-turn directions from the navigation feature of the Maps app. This has been helpful in gauging my position and upcoming turns more accurately. (With built-in GPS, sometimes my phone would lose track of me when driving, e.g., on the elevated Brooklyn-Queens Expressway and decide that I was on one of the parallel frontage roads or on an underlying avenue instead. Eep.)

Other quirks


The first time the device is turned on in a rampantly new geography -- out of doors, with a good view of much of the sky -- it takes maybe 20-30 seconds to get an initial fix on its position. I noticed this when the device was new, and again immediately after air travel. There have been a few instances of the latter. Shorter positional gaps during which the device was off -- between work and home, say, or the 35 miles between my own apartment and my parents’ house -- have delayed initial fix slightly, but less dramatically.

If I start to record an activity before I get initial GPS fix -- something I’d really like to be able to do freely, since I live in an apartment building -- the recording app seems to receive a few stray points from the last place the GLO had a fix on its position, which get inserted as junk data at the beginning of my overall track. If I don’t want to wait before getting underway, I can repair this after the fact by manually editing the .gpx file before loading it. It’s human-readable XML, so this is fairly trivial. Alternately, I may use the “Crop Ride” feature in Strava after upload, though this seems to be slightly too blunt an instrument.

The unit will flash a different pattern on the charging/fix LED if it is running low on power. IME, it will shut itself off soon after that. There’s no way to otherwise gauge the runtime remaining, except to charge it fully. I tend to do this even if I don’t think I need the full runtime, just to make sure the device is in a known state.

If the connection between the GLO and my phone goes sour mid-activity, I’ve found that I have to power-cycle the GLO before it starts serving data properly again. I’ve only seen this happen if I physically separate the GLO and the phone, though. For example, let’s say I lock up my bike and take my pannier, with GLO inside, into a cafe. I put the phone in my pocket. Then I leave the pannier with my family while going to the bathroom 20 yards & a door distant. Oops.

The power button requires a press (for a short count) to turn on, or a press and hold (for a long count) to turn off.  This makes it too easy for the GLO to “turn itself on” if put in a pouch or a pocket, and silently drain away its battery out-of-sight. I’ve taken to wedging a small piece of paper between the battery’s contacts and the pickups in the battery slot to keep the GLO off when I really want it off. At other times, I stow the paper harmlessly under the battery cover.

I also worry about the converse problem -- the device “turning itself off” -- but this hasn’t happened yet. In any case, a sliding on-off switch may have been a better design choice.

Conclusions


Despite the quirks, the drawbacks of the polling-frequency workaround, and the fact that phone battery-life improvements are marginal, I do like this device. Seeing smoothly-drawn track lines at the end of a ride or run is much more satisfying than seeing squigglies, and the improved distance accuracy for running trips is very valuable in its own right. It’s enough trouble that I don’t bother with it for ordinary rides to work, but I never bothered with tracking these rides before anyway.

I would probably enjoy using a GPS watch as well, if I had one. Prices are slightly less gentle than the $100 GLO -- figure $170 MSRP for a decent wired-data-transfer GPS watch, or $250 MSRP for one that syncs wirelessly, via ANT+ -- but that wasn’t really the blocking consideration. Mainly, I consider the necessary intervention of a computer to get the data off such a device to be a serious drawback, and I can usually get away without doing this with the GLO. I’d like the GLO even more if I didn’t have to be so careful not to trip over its many quirks, alas. And if these quirks weren’t sometimes easiest to remedy with, in fact, computer intervention.

If you think you might be of a similar mindset, give the Garmin GLO some consideration.


---

[1] GPS accuracy on my current phone, a Samsung Galaxy Nexus, is poor. My previous phone/current backup phone, a Samsung Nexus S, is even worse.
[2] The Strava app has had a “Pause” button as long as I’ve used Strava. MyTracks finally added one a few months ago.
[3] Yes, I realize many devices can communicate wirelessly via ANT+ and don’t require a literal tethered USB cord to transfer data.
[4] Some Android and iOS devices even lack built-in GPS entirely. The most notable examples are wifi-only Apple devices, such as the iPod Touch and the wifi-only iPad.
[5] Lately I’ve been playing games to remind myself to unpause recording before I proceed. The latest: I’ll stash my phone somewhere on my person that I usually don’t -- in a jersey pocket instead of its usual spot in my pannier, for example. When I ask myself later “Hey, why did I take this out of the pannier?”, it jogs my memory. "Oh, right, I need to hit unpause before I put it away."

11 comments:

Matt Hiller said...

Actually, another word on the "long time to get a fix in a new geography" issue is in order.

Pulling the battery causes this behavior too; it's morally equivalent to plunging the device into a wildly new geography. Clearly the device keeps some cache on its position in volatile memory.

So the otherwise-unrelated trick of wedging a piece of paper under the battery contacts to ensure the device stays off? It has a downside.

Angel J. Garcia Adeva said...

Hi,

thanks very much for your 'in depth' review of the garmin glo. It really helped me deciding about buying one.

I've noticed a common trend in all my runs: whenever I take a corner, the route is kind of 'shortcut', so from then on, it seems I'm running across the buildings (in a very nice and straight line though :-)). And I'm not taking about very tall buildings: even with 2, 3 story tall.

Have you noticed this behavior too? I suspected that this is a software issue, so I contacted garmin tech support, but they weren't very useful.

Thanks again,

Angel

Matt Hiller said...

I've sometimes seen something like this, yes, where the GLO seems to think that I've zigged when I've actually zagged, but then incremental updates after that are relatively correct. I don't see it commonly, though.

---

BTW, I've also been seeing a bug in recent versions of the Strava apps whereby their internal recording buffer seems to be getting filled after 50 minutes of GLO-data-provided activity. It doesn't happen 100% of the time, though; maybe 60%. Back to MyTracks for me, alas, even for shortish activities.

cdmackay said...

great review, thanks.

I've just got one... I note the manual says:

"If the sensor has not established a Bluetooth connection for several
minutes, it turns off automatically."

Do you find this to be true? For me, after leaving it several hours, I came back to find it still on, with the blue BT LED flashing...

thanks...

Matt Hiller said...

cdmackay: yes, same experience. I didn't even notice the claim in the manual that no BT connection would eventually trigger auto-off. I certainly don't see it in practice.

cdmackay said...

thanks Matt.

I contacted Garmin Product Support, who "strongly advised" me to upgrade the firmware.

Which is disappointing. I pointed out that there is no firmware upgrade for the GLO, and it's a question as to whether it even can be upgraded at all.

In theory, it would be possible via BT serial.

No reply from Garmin.

Matt Morrow said...

Thanks for this post. I'm interested in using this for my iPod Touch.

About battery usage, I was under the impression that constant BlueTooth connection was very battery hungry. With the onboard GPS chip on the phone you can control the refresh rate which cuts down on battery. Whereas linking the GLO via Bluetooth will always use a steady connection stream.

Dave Smith said...

@cdmackay You can try to update the firmware with this Garmin software:
http://www8.garmin.com/products/webupdater/howtoinstall.jsp

It identified my GLO but said there were no updates. My GLO has the same behaviour with not shutting off and the indication LEDs not matching the manual.

To Everyone:
I find this blog post very interesting because I have a Galaxy Nexus running Strava and the GLO and am unable to successfully log a full ride. The phone and GLO always lose connection at some point on my ride (without being separated more than 5 cm). Normally I lose my track before hitting 10 km and because of the need to power cycle the GLO to reconnect I lose the rest of the track.
I bought the GLO because my Nexus would normally lose GPS reception before 10 km as well.
There's nothing like leaving it all on the road up a hill, being sure you got a great time only to check your phone and see that it didn't get the track.

I'm planning on returning the GLO and seeing if I can get a similar device that also keeps the track in memory as a back up.

I'm posting because:
-I want to know if anyone else has had this problem.
-I want everyone to pity me and my sad situation where I can't use precious Strava

Matt Hiller said...

+Matt Morrow:

You're welcome.

In practice, I find that demands on the phone battery are about the same with the GLO as they are using onboard GPS, so long as the app doing the recording has its sampling rate tweaked to a reasonable level. Maintaining the bluetooth connection does not seem to be _expensive_ or a net loss compared to doing GPS work onboard the device, just maybe not as cheap as I imagined.

If I use Android's battery monitoring to see what seems to be using power -- again, with a MyTracks/Bluetooth GPS setup, and reasonable sampling intervals -- the battery may be down to 66% full from 100% over, say 5 hours of continuous use. Of that drain, 18% may be imputed to MyTracks, 8% to Bluetooth GPS, and the rest to screen, Android OS, etc.

These numbers aren't from an actual trial, but they're about typical of what I've seen.

These are ballpark numbers, but they do give a sense of how expensive the bluetooth connection is to maintain compared to the other things the phone is doing.

Matt Hiller said...

+Dave Smith

I haven't had my GLO and phone lose connection spontaneously and frequently. Maybe I've seen this happen once or twice, but it's been pretty totally anomalous.

Are you sure the problem isn't with the Strava app, btw? If I try to record with the Strava app nowadays, I seem to fill up internal app buffers within 20 minutes of use, and the app refuses to log more data points thereafter. http://www.strava.com/activities/85348217 , for example.

One thing you may consider trying is the Ultra GPS logger app, which can manage both the bluetooth connection and track recording simultaneously. (It also has the GPS sampling frequency settings you'll need.) It'll fall back to onboard GPS if it loses track of the GLO, and periodically attempt to reconnect for when the GLO comes back online. It does a better job of restoring the connection than Bluetooth GPS does, too.

Issues I've seen with this, alas:

* (the big one)! I've hit track-breaking bugs in the pause/unpause feature that also wedge the app. A full phone reboot seems to be required to deal with these, and even after that you lose your ability to resume a single track.

* Bluetooth GPS + MyTracks is less battery-hungry than Ultra GPS Logger.

* Ultra GPS UI isn't great. Important tap targets, notably, are small and sometimes hard to get to respond.

So this is a qualified recommendation; I was using this app for a while, but have gone back to MyTracks.

cdmackay said...

finally! new firmware, with useful fixes (e.g. power on/off):

http://www8.garmin.com/support/download_details.jsp?id=5811

Changes made from version 2.30 to 2.40:


Add support for four simultaneous Bluetooth connections.
Turning GLO on now requires holding down the power button for one second.
GLO will turn off automatically after five minutes with no Bluetooth connections.
Improved GPS performance.




i've just applied it; seems ok, and the power-on change works. No more accidental power-ons.