I got a Garmin 18 USB GPS Receiver for Christmas. Of course one of the first things I tried to do was get it working with Google Earth. It turns out you need to do some tricks to get it to work, but once you have your setup correct, it works quite well.

There are two applications needed before you get started.

The first application is called GpsGate, by Franson Technology. (It's $29.95 for the full version, but they have a 14-day trial so you try it out to make sure it works with your device.) GpsGate basically takes your Garmin 18 USB device and lets you create virtual serial ports from which to pick up the GPS data. The upshot is that your computer thinks you have tons of GPS devices connected, each on their own serial port. Normally you can only have one application using your GPS device at any given time. But, if you use GpsGate, each program can access the GPS device on a different virtual COM port, so each program thinks it has sole control over your GPS device.

Once you have GpsGate downloaded, set it up so that it is using the Garmin USB input and then add a virtual serial port. Here's what your settings screen should look like.

UPDATE on Jan. 23, 2006: After writing this article, I got busy and wrote my own application to get my GPS receiver working in Google Earth. It creates an auto-updating placemark in Google Earth showing the current location being sent from your GPS receiver. You can have it leave a trail behind you as you move, show your current speed, leave a "shadow track" on the ground if you're flying, and more.

The program I wrote is called Earth Bridge. Just download and install it, set your connection and view settings and then let 'er rip. Make sure to set your COM port in Earth Bridge to the same virtual COM port you created in GpsGate. Once you connect, you can go to the GPS Status tab to ensure you are actually receiving the GPS data over the COM port.

The second application you need is TrackerGE, by Ray Perkins. TrackerGE basically takes input from a GPS device on a serial port and creates a Google Earth KML file called gps.kml in the TrackerGE folder. This KML file is set to refresh itself automatically in Google Earth. TrackerGE constantly populates the KML file as it gets info from the GPS device. What this essentially does is create a marker in Google Earth that is constantly up to date with the location that your GPS receiver has.

The settings for TrackerGE can seem intimidating at first, but it's not hard once you figure it all out. Here are the settings that I use. The most important settings are to make sure the COM port is set to the (or a) virtual port you created with GpsGate, and that GE radio button is selected at the top, and finally that the GPS is checked at the top. The other settings are just Google Earth display settings.

Once you have these two programs set up and running, load up Google Earth. Go to the File menu and choose Open. Navigate to the TrackerGE folder and open the gps.kml file. Your view should now track in on your current location, as being reported by your GPS device.

Technically, this whole procedure should work with any GPS device. However, the tracking feature, where it leaves a trail behind you as you move, may only work in Google Earth Plus. I have Google Earth Plus which is only $20 a year, so it's worth it just to pay the $20.

I should also mention that the program nRoute, which comes with the Garmin 18 USB, does not work when you have this set up. This is because nRoute only understands input from a Garmin device, and GpsGate takes the input from the Garmin 18 USB and turns it into more widely accepted GPS data format which nRoute won't accept.

I had a hard time finding information on the Internet to get all this working. Hopefully this helps out someone else who gets a Garmin 18 USB for Christmas and wants to get it working with Google Earth. :)

Dylan says:

My uncle is a bigger GPS nut than I am and he has confirmed that this setup works without the need for Google Earth Plus.

rat_racer says:

Thanks for posting this- this is the closest thing I've found to what I'm looking to do. Obviously this works for the 18, but- would this work for any other units out there? What I'm looking for is a unit that will adapt into my PC to use in REAL TIME w/ Google Earth, but, also a portable unit to where I don't have to drag my laptop around with me when I DONT need it to hook into the computer. Do you know of any solutions for this?

Dylan says:

Keep in mind I'm also new to the GPS arena, but from what I know, this should work for any GPS unit that sends out "NMEA" data to your computer. NMEA is a standard data format for GPS devices.

Most GPS applications tend to look for NMEA data coming over a COM port. I had a special situation in that not only was my device not a serial device (thus not sending data over a COM port), but it is also a Garmin device, which doesn't send NMEA data. Garmin has their own proprietary data format they use.

Even if your GPS device sends out standard NMEA data, you will still want to get a COM port splitter program. If you don't, you will only be able to use one GPS application at a time, which can be annoying. My uncle, who is a GPS nut, recommended that I get Eltima Serial Splitter. I would have gotten it, if not for the fact that the Eltima app doesn't recognize a USB device as its input—just serial devices. GpsGate has code specifically to handle the Garmin 18 USB, so I got it instead. The results are the same, though. (And both have trial periods, so you can see which works best for you.)

In terms of the setup you are looking for, what you want is a GPS device that has the portable features you want, but make sure it says it has a PC connection cable. It will likely be a serial cable, but there seem to be more and more USB devices out there too. The only reason I would suggest against a Garmin device is because of that proprietary data format thing. From all the reviews I've read and from the range of products they have, they certainly seem to make good products, but I also have found lots of people that hit the proprietary data format as a stumbling block. Magellan is the other big GPS device company, so look through their products too.

Just do your research and read lots of reviews. Also another good thing to do is go on forums, like the Google Earth Support forums, and do a search on the device you are looking at getting. If people are having lots of problems getting it to work then it might be worth looking at another device.

Hope this helps. Good luck!

rat_racer says:

Thanks for the reply. Dumb question here, but- will GE work without an internet connection? Let's say I know a specific area, or city that I want to travel within. Can I somehow download all the imagery/info to the laptop, THEN disconnect from the internet and use the Garmin 18 in GE to track my path/location in real time? Or, do I need to be connected to the internet the entire time for this all to work properly?

Dylan says:

Yes, you can run it disconnected from the Internet. You can set up to a 2GB local cache for Google Earth. You can't select an area and say, "download all of this area", but you can browse the area you will be in, so that all that info is fresh in the cache and then disconnect.

My uncle and I were talking about this and agreed that one thing Google Earth needs is a way to stake out an area and say, "always keep this in my local cache." For instance, I'd like to take Portland and block it off and say, "always keep Portland at full detail in my cache."

rat_racer says:

Oh sweet... So when you're out driving around, w/ GE on the laptopn and the Garmin 18 running- How does it physically show your position in GE? Does it use like a Pin Point, Balloon, etc? Also- I assume it will move the map around as the car moves, correct?

Also- what happens if you travel outside of the downloaded cached area and you have no internet access at the time? How does GE respond to that?

Sorry for all the questions- I just want to be clear with what all this does before I go drop $400/yr on GE Pro (I need the map overlay functionality) and the Garmin 18 (or another unit if I find it will work well).

Oh- lastly- I'm looking for a unit that will handle this setup you created, but in a handheld/portable I can take hiking/camping (I dont always want to drag my laptop around with me)- know of any solutions that can do both?
Thanks bud- I really appreciate it!

rat_racer says:

Hey bud-
Ever see this? Your thoughts?


Dylan says:

So when you're out driving around, w/ GE on the laptopn and the Garmin 18 running- How does it physically show your position in GE? Does it use like a Pin Point, Balloon, etc? Also- I assume it will move the map around as the car moves, correct?

It shows me as a placemark icon, with a trail behind it, and yes it moves with me in real-time.

If you travel outside your downloaded cache area, you just see low-res versions of wherever you are.

Again, I don't know which portable unit will be best for you to use not connected to a PC. You'll have to do your own thorough research on that. Again, just make sure it has a PC connection available on it and you'll be fine.

Yes, I've seen the link you posted. I haven't tried it, but basically it looks like it does the same thing as TrackerGE. To me, it's not relevant because I'm writing my own real-time GPS to Google Earth application. I have some slick features planned for it that I haven't seen in any other programs.

Sodbuster41 says:

It works quite nicely with my BT-338, although there may be a few quirks yet. I'm not yet using GPS Gate. Very nice having GE at full-screen mode whilst driving. The 20 second refresh would make using it for live navigation less than suitable, but quite sufficient for getting unlost.

Dylan says:

You can change the update time to whatever you want. I have mine set to 2 seconds. However, stay tuned. I'm making good progress with my own replacement for TrackerGE. More options, more fun. I'll post when I have something to download.

rat_racer says:

Hey bud-
Anxiously awaiting the development- how's this coming along???

Dylan says:

Excellent. In fact, I'll probably be launching the beta this weekend. I just used it all day today while driving around Portland. SO COOL.

rat_racer says:

Any chance on that including a USB input rather than a serial? How different is your new version than from TrackerGE?

Dylan says:

I have to do some reading up on handling USB input the same way as serial input. From all I've come across, it's not nearly as straightforward as serial input. I would love to add USB support. It's just a matter of figuring out how do it.

It's different in that it has way more display options, it gives you full GPS status reports, you can save the NMEA log file*, it will minimize to the tray, file options to choose where the files are created and under what name, auto-connection on program start, auto-start GE on connection, and more.

* Future feature: playback of NMEA log files.

rat_racer says:

SWEET!!! Is it done yet??? ;)

rat_racer says:

ok- been working this all weekend, with no avail. Here's what I've determined- the 60CSX doesn't freely send out info, without being asked for it. I've got GPSGate setup and configured, as well as Google Earth (I've verified that the com ports are there in various other programs- they all yield the same result). I have the gps file loaded in GE as well- and a GPS Network link in my Temp Places in GE. So I'm certain that's all working properly. Here's the problem-

It seems to me that the 60CSx needs to be ASKED for info from the application, whereas the Garmin 18 freely sends out information on its own, without being asked for it. I'm hoping you can do me a favor here- and when in TrackerGE- click on the output log at the bottom of the screen, once you're connected. Does it have any info in there? Mine always remains blank, no matter what.

Does it make sense that the 60CSX won't freely transmit information, without being asked for it? Whereas the 18 will freely send it out via the usb (and turned into Com/NMEA data)?

I know it's connected right, because I can use other programs to query the GPSr (when it's not running via GPSGate) and they will transmit data in/out of the GPSr perfectly- so I know it works right). Any ideas on any of this?
Thanks a ton!

Dylan says:

It's done.

In terms of your 60CSx not streaming info, I can't find any info on the Garmin site that says it's even supposed to do that. I'm assuming that's your post on the Franson support forum about this problem. If so, I'm not sure what to tell you except maybe look for a serial-to-USB adapter and hope for the best. I do know that Franson's Garmin support in GpsGate version 1.10 is specifically targeted at the Garmin 18 USB. Supposedly the next version will be done soon and will support more devices.

rat_racer says:

oh cool! Looks great! So this replaces the TrackerGE application? COOOOOL...

Seems as if I gotta go serial. Garmin's new 'x' series has thrown a new bump in the road even more. They changed their USB protocol to require some sort of 'handshake' request to get information from it. Whereas, NMEA will freely offer it- which most software is designed to do.

Thanks- I'll let you know what I think of it, once I get it all setup and working!

bobjet says:

It looks like I have set out to invent the wheel, only to find that you all have beat me to it - no complaints here. I'm not a real tech guy, I'm a pilot. I fly a research aircraft for the US Forest Service (nothing to fancy) and we are currently looking for ways to increase situational awareness for the many different roles that pilots ond others fill when on an incident. We create maps in the thermal infra-red and then drape them over a terrain database.

Goggle earth has really turned our heads, what a platform. It occurred to me that if a GPS could drive the site or part thereof, you'd have an unparalleled view of the fire and terrain surrounding it that is often obscured by smoke - something it sounds as if you all have already accomplished as far as the terrain is concerned. If we were to get so far as to be able to drape our fire data over the areas that are actively burning, the awareness of everyone working the fire from pilots, ground pounders, to incident team managers would be immeasureably enhanced. Situational Awareness (good buzz phrase) would go through the roof hand in hand with safety. I am currently fooling around with a Globalsat BT 338, a palm Treo, and a PC, but envision this type if setup ultimately occuping a tablet pc. You only try to fly with a notebook in your lap once, the nightmare doesn't take long to reveal itself. A smartphone like the Treo would be great, but feasable? I don't know.

I'll keep checkin' in to see what new fruits your hobbies bear. If we can incorporte them, I'll let you all know. Thanks for all you've done thus far, it puts it in reach for me!

Any help or advice on how to set something like this up would really be a great help. We're a research outfit which means we are poor in cash flow and resources, so we make due. If we prove this concept it may just take of within the Forest Service and the Bureau of Land Management, and would most likely result in saving lives and/or property.

If anyone is curious about what we have accomplished so far, check out our website. It should illustrate where we are hoping to go with this beyond the science of studying fire propagation and intensity, which are import in there own right. It’s hard not to really want to find a good way to disseminate this data even though we started out making maps purely for science. We felt we had a moral imperative, so here I am trying to tap the genius of others to bring it to fruision!

It is fun to tinker with this stuff as well though, isn’t it? Especially when there’s a noble reason to do so….

Dylan says:

Bob, contact me via e-mail (me at mboffin dot com). I'd love to talk to you about how the things you are talking about could be accomplished. It's very possible to do what you have in mind and I have some good ideas how it could be accomplished.

I'd love to help you get this going.

reifer says:

Could you provide an update of progress on GPS and Google Earth?
I'm very interested in making it work for me too.
I have an apt. on a ship, called modestly, The World.
I have been looking for a GPS option to track our travels on a big screen. This sounds like it would work well. We have 24/7 internet, etc.
I'm a mac user but have 2 intel macs on board including a mini hooked up to a 32" Aquos and it should work running Windows without a problem.
What's the latest? Do you think this could be a good solution for me? Do you have a list of the best GPS receivers for Google Earth?

Wirehead says:

Bloody hell.

Can I come stay with you?

lman817 says:

Hey Dylan,

Neat program, i'm impressed! I've been wrestling with Garmin and its proprietary protocol for USB connection for ages... all the open source programs on the web are based on serial connections and the Garmin documentation is vague beyond belief. All i'm trying to do is make a modest program that will spit back the time and position coordinates from a Garmin 18 USB, do you think you could share some tips?

lman817 *at/* gmail.com

lman817 says:

Just an addendum,

When running GPSgate must my program form packets around the USB or Serial protocols?

tracstarr says:

just to give my 2 cents.... reguarding the Garmin 18 USB vs the X series - I've never played with the 18, but my guess is they are just masking a serial connection over the usb - standard practice for first generation usb decives in my opinion. That's probably why it just streams without asking for data. it's just pretending it's really a serial. Although, according to the Garmin SDK there is also a ACK/NAK protocol for serial connection. I've been doing some work with the X series.. this time the usb connection is closer to a "real" usb connection. They are using interrupt pipes along with the bulk pipe. This requires you to always be checking if the device has data to send, and then when it does you read it. Once you read it it'll tell you if there is more coming or not. These USB "packets" are defined in their SDK (well, most of them). For "streaming" data they send two packets, the first is the location information followed by an undocumented packt. This packet I have decoded - its the satellite information. Anyway, it was a bit of a pain and a lot of research as i've never played with usb stuff, but i've got something written that pretty much just displayes this streaming information once you make the inital request. (using a 60csx)

Dylan says:

That's pretty cool. I just got GpsGate 2.0 which finally supports the satellite information coming in from the Garmin 18. Another side benefit is that it also lets you output Garmin data from a standard NMEA device. That's useful for me because it means I can use my Holux 236 to run nRoute, which only reads from Garmin devices, and I can use it alongside Earth Bridge and Netstumbler.

lman817, when reading data from GpsGate, it's identical to reading from any other COM port.

Ringo says:

Just in case yall did not know, Garmin has released a program call Spanner that will let you create virtual serial ports that send NMEA data from the GPS 18. You can get it here.

psdillon says:

Does it make sense that the 60CSX won't freely transmit information, without being asked for it? Whereas the 18 will freely send it out via the usb (and turned into Com/NMEA data)?

I'm also having the problem where Earth Bridge doesn't receive any data from the serial port, while other applications can (like VisualGPS, putty, and HyperTerminal). Just as a bit of background, I'm using a Windows Mobile handset with built-in GPS, connected via serial over bluetooth using GPS2Blue.

By using terminal emulators, I know that the data is one-way. No request or handshake is required (at the application layer) to start receiving NMEA data. I've heard that with bluetooth serial ports, the "available bytes" call always returns zero, even though doing a read will return data. So, a polling strategy would not work. Having said that, I can't find a reference anywhere that says anything to that effect!

I wonder if this is the same problem that rat_racer experienced. I'll try to investigate further and report back.



mdlazreg says:


Thank you for your instructions on how to use Garmin 18 USB GPS Receiver with Google Earth. I followed your instructions and got it to work fine.

There is a problem however that GE seems to consumes so much CPU which brings my laptop to a standstill...

I do not have this problem when I use TrackerGE: http://web.295.ca/gpz550/TrackerGE/

I hope this is something you can fix or maybe it is expected?


Skyking says:


Your very first piece "My uncle is a bigger GPS nut than I am and he has confirmed that this setup works without the need for Google Earth Plus.
Dylan - Dec 27, 2005 @ 10:33 PM" is no longer accurate. I installed your wonderful program this evening and when I tried to tie it to Google Earth, I very definitely got an error message stating "Plus" is a requirement. While it apparently did not formerly require "Plus," it sadly does now.



bennemsi says:

Hi Dylan,

I'am using an Asus eeePC 900A with Navilock GPS 302U (USB Port) running on WIN XP. EarthBridge works great with GE in offline modus, as I saved all the area of the Tunesian Sahara we are going to visit with GEVoyager6 to GE's cache. EarthBridge is definitely what I was looking for to navigate offline with GE through the desert. I will post your EB's link in our German and Swiss Africa-Forums

lot of thanks,


johnson814 says:

Just installed Earth Bridge on my computer, every time I try to run the program I get a message before the program starts "cannot start generating output, output directory does not exist" after I click ok the program starts but Google Earth does not start nor does it generate output to Google Earth. Any ideas what might cause this and how I might fix it

4x4 says:

Hi All

I am a truck driver and travel the lower 48 states
I am running a full size computer (Latest & greatest stuff)
A 22 inch ASUS in the bunk and a 15 inch touch screen on the dash

My GPS reciever is a BlueTooth HOLUX M-1200 that mates perfectly with EARTH BRIDGE
Read the spec's on this Reciever here: http://www.holux.com/JCore/en/products/products_download.jsp?pno=227

Thank you Dylan & David

Much Regards 4x4

Wholesale says:

Great post .it is helpful for me.Tks for your sharing

GPS reciever

Post A Reply:

Sorry, but before you can reply you must either log in or sign up.