How to Use an External GPS Device in EpochField

EpochField is configurable to use GPS external to the device on which you are running the app. You may want to do this if your device does not have an internal GPS or if its native GPS is not precise enough, or for some other reason. On Windows, this can be done by configuring the app to get its GPS data from a serial port; on iOS or Android, and you will need to configure your device’s location manager to use the external GPS device. This article covers how to configure external GPS devices to work in these scenarios with EpochField Mobile.

GPS Data from Serial Port (Windows)

A common type of external GPS device is one that connects via Bluetooth. Once paired, your Windows machine will assign virtual COM ports to this device which EpochField may be configured to connect to.

How to Use an External GPS Device in EpochField

Getting the COM Port

On Windows 10, open “Bluetooth & other devices,” go to “More Bluetooth options,” and select the “COM ports” tab. From here, you can see which port to use for GPS in EpochField.

Configuring EpochField to use Serial GPS Data

Once you have found the port, you need to configure EpochField to use serial data for GPS. In your ApplicationConfig.xml file, go to GPS settings and set the following parameters.

<UseGPSDevice>0</UseGPSDevice>
<GPSComPort>COM3</GPSComPort>

GPS device 0 tells EpochField to get its GPS data from a serial port. COM3 is the port from which to read the data. This will be whatever COM port your GPS device is using. If you get the port wrong, EpochField will attempt to find the correct port. If it fails to find the port, the app will notify you.

Once connected to the GPS device, if the device is functioning correctly, you will see EpochField using the data it gets from the device. If it is not working correctly, see “Using the Correct GPS Data” below.

“Using the Correct GPS Data” below. GPS Data Via Your Device’s Location Manager (Android or iOS)

On Android or iOS, you can have the external GPS take over your device’s location manager. Once you have accomplished this, there is no need to configure EpochField, as it will already be using your device’s location manager by default.

Using the above example of a Bluetooth GPS device, once you have paired the external GPS with the device running EpochField, you will need to download an app that allows you to “mock” GPS with an external device. On Android, the “Bluetooth GNSS” app is an option, but there are many others available.

Assuming we are using Bluetooth GNSS, open Settings on your device and enable Developer Options; from there, change ‘Set Mock Location App’ to “Bluetooth GNSS”. Open the Bluetooth GNSS app, select your external device as the target, and hit Connect. You should soon see data coming in from the device. If you do not, see “Using the Correct GPS Data” below.

How to Use an External GPS Device in EpochField
How to Use an External GPS Device in EpochField

Using the Correct GPS Data (All devices)

If you are not getting any data from the device after doing the above, it is possible the device is not configured to send you the correct data. Many devices have free apps from the manufacturer that allow you to configure the device. Using a Trimble device as an example, we downloaded the GNSS Status app which was available on all platforms (Windows, iOS, Android). In this app, we opened the Source tab and selected all NMEA data. Once we did this, the data we needed from the device began streaming in.

Written by:
Jon Ruland – Software Engineer