HomeHardware


Getting a GPS receiver to work with Windows 8.x & 10
Ken in Regina
In GPS conversations the word "sensor" can be used two ways.

1. Some like to use it when referring to a GPS receiver, like a Globalsat BU-353 USB receiver or a Garmin 10x Bluetooth receiver.

2. In this post I am going to use it exclusively to refer to Windows new Sensor API (API = Application Programming Interface .. how programs/apps talk to each other and to hardware items).

Microsoft introduced the Sensor API and Location API in Windows 7 but retained the old COM port code as well. Anyone using serial comms or USB-to-serial thingies probably remained blissfully unaware of this addition because nothing really changed for them.

With Windows 8.x Microsoft introduced a "mobile" extension to the Windows operating system that continues in Windows 10. This allows us to select an operating mode that best suits the device we are using and the type of work we are doing. There is now a Desktop mode which looks and acts just like older versions of Windows and runs all the stuff we've been using for years.

In Windows 8.x/10 Microsoft continues to support COM port use for Desktop apps. So if we want to use a common USB or Bluetooth GPS receiver with a Desktop navigation app, like Microsoft Streets&Trips or DeLorme Street Atlas or ALK CoPilot, on a laptop we just continue to do as we've always done and they'll continue to work just fine.

What's new about Windows 8.x and Windows 10 is the mobile side of the operating system. This was added to allow us to more easily use more portable devices like tablets, or touchscreens in newer laptops and desktop systems. Apps can be specifically coded to run exclusively in the new Tablet mode. They are referred to by Microsoft as Modern apps. These Modern apps will run in Tablet mode or in a window in Desktop mode.

This is where the new Sensor and Location APIs come into play. The Tablet mode and its Modern apps do not understand the concept of COM ports for communication with a USB or Bluetooth GPS receiver. Instead, the Modern apps look for the GPS data to be provided by a sensor.

Most USB and Bluetooth GPS receivers do not come with a sensor driver.

They will still work fine for conventional desktop apps like CoPilot, Streets&Trips, Street Atlas, whatever. But Modern (mobile) navigation apps know nothing about conventional COM ports. They only look for the data coming off the Location sensor.

I've written this post because, unlike our Android or iOS phones and tablets, very few Windows laptops and tablets have built in GPS chips. This means we still have to use an external GPS receiver like the BU-353 or similar. But the lack of COM port support on the mobile side of Windows 8.x/10 means you have to figure out how to get the incoming GPS data through the Location sensor to a Modern navigation app.

If you want to use one of the many new Windows tablets or a new laptop with touchscreen or one of the new "convertibles" that can be either a laptop or tablet -- all of which come with Windows 8.1 or Windows 10 -- and you want to use one of the Modern navigation apps from the Windows Store you have some additional steps to make your GPS receiver work with them.

First you have to install the necessary USB-to-serial driver or Bluetooth driver for the GPS device you are going to use. That's still necessary to get the GPS receiver's data coming into the computer.

Then you need a COM-port-to-Location-sensor driver.

TurboIRC's GPSDirect is the only Sensor mapping driver I've been able to find so far. I have tested it with the Globalsat BU-353 S4 USB GPS receiver and it works fine.

Here's a link to the relevant page on their web site for GPSDirect and related products. They have done some neat work.


UPDATE: Here's an updated link for the download as of 13 Nov 2016. It's a very good resource page.

UPDATE: Here's an updated link for the download as of 24 Sep 2017.

If you like to play around with this stuff, in addition to the GPSDirect Sensor mapping driver you can also get Android and iOS apps that will let you direct the output from the GPS chip in your Android or iOS phone to the GPSDirect driver on your Windows tablet or laptop. If you already have an Android or iOS phone that has a pretty good GPS chip in it you can use it to provide a GPS signal to your Windows tablet or laptop in place of an external GPS receiver. (NOTE: I have not tried them yet so I can't say how they work.)

...ken...
GoneNomad
Ken,

Do you know whether or not an external USB GPS receiver can provide location data to legacy apps like S&T (no software required for that) AND to Modern apps like MS Maps (using GPSDirect) without using some other software?

IOW, does GPSDirect effectively send a copy the GPS datastream to location-sensor-aware to Modern apps as opposed to re-directing it?

There's no contact info on TurboIRC's website, so I can't ask the developer, but I thought you might know?

Thanks!
Ken in Regina
I think just the relevant GPS driver and GPSDirect will do the trick but it has been a long time since I did that article and my memory ain't what it used to be.

Perhaps the info on this page will help.

http://www.turboirc.com/gps7/z0.htm

...ken...
Ken in Regina
I guess I should clarify.

You will need the relevant device driver for whatever GPS receiver you plan to use, in either case - legacy apps or Universal (Modern) apps.

You will need to add GPSDirect for the Universal apps.

...ken...
GoneNomad
yep, thanks.

Just wasn't sure if the GPS would supply data to BOTH this way.

Reason I ask is I'm now thinking that S&T + MS Maps may be the way to go.
Ken in Regina
Testing legacy apps...

I installed the latest Prolific PL-2303 USB-to-COM driver on my Surface Pro 3, connected my Globalsat BU353-S4 receiver to the USB port, checked in Device Manager and found it's on COM3, fired up S&T 2011, told it the GPS is on COM3, told it to start GPS tracking and - Voila! - it's displaying my current position. Same procedure you would use on Windows 7 works fine on Windows 10.

...ken...
Ken in Regina
Quote:
Originally Posted by GoneNomad
yep, thanks.

Just wasn't sure if the GPS would supply data to BOTH this way.

Reason I ask is I'm now thinking that S&T + MS Maps may be the way to go.
Do you mean simultaneously? I've never tested that.

...ken...
GoneNomad
Quote:
Originally Posted by Ken in Regina
Testing legacy apps...
I installed the latest Prolific PL-2303 driver on my Surface Pro 3, connected my Globalsat BU353-S4 receiver to the USB port, checked in Device Manager and found it's on COM3, fired up S&T 2011, told it the GPS is on COM3, told it to start GPS tracking and - Voila! - it's displaying my current position. Same procedure you would use on Windows 7 works fine on Windows 10.
...ken...
Thanks for doing that.

Quote:
Originally Posted by Ken in Regina
Do you mean simultaneously? I've never tested that.
...ken...
Yes, simultaneously.
Probably would not use S&T nav simultaneously with Win10 Maps nav too often though.
But for the intended use I am thinking about, it would be nice to be able to keep the S&T map at the current location.

There's also Maps Pro too, that might be worth a look.
I recall that the developer posted on here when he originally released it.
But it apparently uses Open Street Maps (only?) and IMO, OSM isn't that great.

...
Ken in Regina
Testing Universal apps...

The PL-2303 USB-to-COM driver is still installed and the BU353 is connected via USB.

I ran the TurboIRC GPSDirect program that redirects the GPS data to the Windows Location Sensor. It wants to know the COM port and BAUD rate. Device Manager tells me the BU353 is still on COM3 but I had to do some digging about on the internet to determine that the BU353 defaults to 4800. (My first clue should have been that S&T, which only works at 4800, worked fine immediately. Did I mention my lousy memory?!)

I ran an app called GPS Satellite. It showed the coordinates and let me view the location on a map ... I'm guessing it knows how to display Bing Maps or similar.

Then I fired up the Windows Maps app. It displays the location correctly, too. The way the location circle moved around a bit at a high zoom level while the GPS is sitting in a fixed location on my kitchen table tells me that it's receiving and using the actual realtime data from the GPS.

...ken...
Ken in Regina
Using legacy and universal apps simultaneously...

Doesn't work. If I run Windows Maps first it gets the signal. I can tell because the location circle is in the correct location over my house and pops around a little occasionally. When I run S&T it says it can't use the designated COM port and to check to see if some other application is using it.

Vice-versa, if I run S&T first it gets the GPS signal and locates properly. When I run Windows Maps it places the location circle on the street just in front of my house, as it does from a WiFi based location. Then it sits there solidly with no movement at all. It would not do that if it was using a realtime signal.

A port splitter like GPSGate might work.

...ken...
Ken in Regina
Using legacy and universal apps simultaneously...

PL-2303 USB-to-COM driver installed and BU353 connected to USB port and operating as COM3/4800.

Installed and ran GPSGate Client 2.6 Free. It finds COM3 as Input. I added two Virtual COM Ports (COM1 and COM2) as Output.

I ran S&T 2011 and pointed it at COM1. Works fine. Left it running.

I ran the GPSDirect installer and changed it's input port to COM2/4800.

I ran Windows Maps and it also appears to be happily using the realtime GPS data.

I should caution that I'm doing all this at the kitchen table with my Surface Pro 3. I have not done any mobile testing. But it looks like it should do what you want.

By the way, I posted my immediately previous note about simultaneous use failing without a port splitter at the same time as you posted so you might have missed it.

...ken...
GoneNomad
Thanks again Ken!
Ken in Regina
Confirmation of simultaneous operation...

I took the Surface Pro 3 out for a walk around the block with the BU353 on my shoulder. It works with both S&T 2011 and Windows Maps running simultaneously. Then I tried it with my Garmin GPS10X Bluetooth receiver and went the other direction around the block. It worked, too.

The specific ritual that worked for me was:

1. Make sure nothing GPS-related is running,
2. Necessary drivers or Bluetooth pairing are in place and GPS receiver is connected and operating,
3. The expected COM port(s) appear in Device Manager,
4. Run GPSGate Client and check the available outputs,
5. Run GPSDirect and select one of the available GPSGate virtual COM ports,
6. Run Maps,
7. Run S&T and point it at one of the other GPSGate virtual COM ports.

That seemed to work consistently for me. If I ran S&T and started GPS tracking before I did the sensor setup and got Maps going, Maps seemed a bit less reliable. That might just be my specific system configuration but I offer the above sequence as a good starting point.

GPSDirect - I always run it after I'm done with it and uninstall the driver so the next time I use it it will be a clean install of the driver. This may be overkill but it works for me.

GPSGate Client - The first time I run it after installation, I go to Settings (right click the icon on the task bar), click the Advanced tab, and uncheck (disable) "Start GPSGate after Boot". That way I just run it when I want rather than having it running every time I boot the system. This may also be control overkill but it's the way I prefer it.

Enjoy.

...ken...
Ken in Regina
I've made this thread sticky. I'm pretty sure Windows 10 isn't going away so it's going to be relevant for the long term. I've also updated the download link in the original message.

Next task is to download the Android app that works with the GPSDirect sensor driver and see if I can get it to use the GPS in my Android phone. Probably not today, though.

...ken...
GoneNomad
I think that officially confirms that rumors of S&T's demise are exaggerated.
It may be that even trips planned online, along with certain types of POIs, may be best stored in S&T.

A Win10 tablet or Ultrabook that can run S&T will still work quite well with Google.com/maps or Bing.com/maps whenever there's net access, and S&T could even be used for navigation in a pinch.

Thanks for taking the time in this effort.

As for using the Android phone as a GPS receiver, personally I'm not interested in that... but others might be.
laptopgpsworld.com About