Microsoft Surface Go LTE GPS for Ham Radio

Want to access and share the internal GPS on the Surface Go LTE with other apps. Well, here you go.

Hello Operators.
Microsoft has done an incredibly shortsided job in its GPS implementation on the Surface Go LTE. I´ll avoid annoying myself again and just say it this way. “Microsoft made it more difficult than it needs to be to access and share the GPS data with other apps”.

To save your hair line from the “Wisdom” of Microsoft, there are two utilities we need to download. These utilities are called Franson GPSGate and GPS Splitter plugin.

The GPSGate utility may not actually be needed, as the Splitter is the tool required to get the location data from the GPS and create the virtual com port. I couldn´t get the splitter to work without GPSGate, so please start with reading the documentation. The only “dependencies” I ran into were solved with installing the Fransman GPSGate utility.

The Splitter is found here:

Fransman The GPSGate utility can be found here:

Combined these utilities create a GUI for the virtual comport configuration, and what type of output you want for your desired application. In the following images, you can see I have configured mine to take data from the Windows Location API, outputting that data in NMEA sentences on com 4. Though you can’t see com 4 in the device manager, I assure you it is there! The utility is also configured to start up automatically at boot. Once installed and configured, it is all very simple.

Sadly neither of these utilities are free any longer. When I downloaded the original utility, there was no charge for it. However, this has changed. The price is less than a junk food meal and seems worth it to me. There was the free version floating around the net someplace, and might not be too difficult to find. With that said, this is an incredible tool and its developer deserves to get paid!

Time sync for FT8 & JS8Call

I also use the internal GPS to create a time sync for JS8Call. The GPSGate utility creates a virtual comport one can use as a physical port in GPSTime by VK4ADC. In the images below, the GPSTime a connects to my the Surface Go internal GPS over virtual com port 4. NMEA string can be seen in the lower image.
Winlink Express can also make use of the internal GPS in the Microsoft Surface. I often use this feature to send a position report to the Winlink system when APRS gateways are out of range.
The combination is very nice!

Who needs this utility?

Anyne with any radio other than the Icom IC-705. For those of us with an Icom IC-705, we would rarely if ever use the internal GPS on the Surface Go. The reason is, the 705 has an internal GPS already built-in. There is one scenario where we would use the internal GPS on the Surface, over the 705 GPS, I’ll explain.
The internal GPS on the IC-705 is available over the Micro USB port, but not when connected to your Surface Go wirelessly. The latter part is a bummer, preventing the wireless use of the IC-705 GPS for data communications. Although the internal GPS on the 705 remains a useful feature, not being available over Bluetooth was a painful oversight from the Icom dev team.

For those of us trying to reduce the “wire mess”, making use of the Surface Go internal GPS is also attractive. With a single USC-C port on the Surface, ports are a premium. Adding of USB hub to split the ports creates a fumbling mess, most of us would rather avoid. For simplified man-portable data communications, there is no better solution than the Microsoft Surface & Icom IC-705 combination!

What else to read?

  • My most popular post on the Microsoft Surface can be found here. That post has more general information on specs, charging, setup, the surface pen, … I’ll eventually update that post, to reflect the GPS information in this post
  • The reason for the move to the Microsoft Surface was the limitations of the raspberry pi for field communications, and its poor reliability in and out of the ham shack. I simply wanted something requiring fewer wires, being easier to deploy and more robust than a Raspi. That is how I arrived at the Microsoft Surface.
  • Also in my arsenal of convertible tablets is the Lenovo Yoga. The Yoga is incredible, but more than likely out of the reach of most budget-minded Operators.

Hopefully, this information was helpful. If it was, let me know in the comments. If you found another way to achieve the same functionality, please share it with us in the comments.

Julian oh8stn
Support my rootbeer habbit:
Follow my backup channel on Rumble:

Julian oh8stn

Looking for ways to support the blog & channel?

Support the channel by shopping on Amazon, ebay, at Battery Hookups or GigaParts.
For GigaParts and Battery Hookup, use my callsign for a small discount.
Alternatively, drop a little something in the TipJar. It really makes a difference.

Disclosure: Some of the links below are affiliate links. This means that, at zero cost to you, I will earn an commission if you click through the link and finalize a purchase.

Spread the love


  1. Julian, thank you for solving this long running puzzle. Yesterday I installed GPSGate Splitter on my Surface GO2 LTE. With the GPSGate Splitter Windows API plugin, the GPSGate Splitter program works as advertised. I did not need to use the GPS Utility application.

    The Windows API plugin is free and available on the GPSGate Splitter webpage below the product license section. Installation was easy enough. It’s worth the price, though the license is unfortunately only good for one computer.

    As you said, it works with Winlink Express. It also works with MultiPSK’s Clock application. I haven’t yet sorted how to use it with GPS2Time or NMEATime2.

    Thanks again for finding a path through the Surface GO2/3 LTE GPS annoyance.


Join the discussion

This site uses Akismet to reduce spam. Learn how your comment data is processed.