Skip to content

Software Overview

USB Drivers

Depending on the GNSS Flex module that is attached, users may need to install specific USB driver. However, to access the UART interfaces through the UART USB-C connector, users will need to install the CH342 USB driver below.

CH342 USB Driver

The USB drivers for the CH342 USB-to-Serial converter can be downloaded from the manufacturer's website.

Linux

A USB driver is not required for Linux based operating systems.

GNSS Receiver

Some GNSS receivers may require a USB driver to be installed, before users can connect to its USB interface. For example, the ZED-X20P GNSS receiver does not require a USB drive to be installed to access its USB interface for development purposes; meanwhile, the mosaic-X5 GNSS receiver does require a USB driver to be installed before it can be connected to a Windows OS computer.

Info

For more details on a specific GNSS Flex module, please refer to their hookup guide.

Manufacturer Software

Most of the manufacturers will provide software that is designed to specifically operate and configure their GNSS receivers. Often, this is the simplest way to get started with any development. The software usually provides a graphical interface for evaluating the GNSS receiver's performance, configuring any settings, and upgrading the firmware. Below are general software resources that might be useful; however, users should refer to the hookup guide of their GNSS Flex module for more details on a specific board.

Third-Party Software

In addition to any software provided by the manufacturers, there are a variety of third-party software options. The software implementation may even be unique to the available interfaces from an associated carrier board.

  • PyGPSClient


    The PyGPSClient Python package is a graphical tool for evaluating the basic performance of GNSS receivers and is compatible with most of the major operating systems. The application parses and extrapolates a variety of data from the UART interface of GNSS receivers; with integrated support for the NMEA, UBX, RTCM, NTRIP, and SPARTN protocols. All GNSS information is then displayed neatly within its GUI for users to access or utilize.

Installation

There are a variety of installation methods detailed in the GitHub repository's README.md file. However, we recommend utilizing either the pip installation method. Depending on how Python is installed on the computer, one of the following commands should allow users to install the software:

python3 -m pip install pygpsclient
pip3 install pygpsclient

NTRIP Client

NTRIP server configurations

Configuration settings for connecting to an NTRIP client.

To receive and process NTRIP RTK correction data from an NTRIP server in the PyGPSClient software, users can follow these instructions:

  1. Click on the icon, labeled NTRIP Client.
  2. Enter the information for the network and mount point.
    • For an NTRIP server hosted by the PyGPSClient software:
      • Server: IP address of computer
      • Port: 2101
      • Mountpoint: pygnssutils
      • User: anon
      • Password: password
  3. Click on the icon to connect to the server.

NTRIP Server

NTRIP server configurations

Configuration settings for an NTRIP caster.

If their GNSS receiver is supported by NTRIP sever feature of the PyGPSClient software, users can follow these instructions to setup their computer to operate as an NTRIP sever:

  1. In the settings console, scroll to the bottom and select NTRIP CASTER from the Mode drop-down menu.
  2. Select the box for Configure Base Station and select the GNSS receiver from the drop-down menu.
  3. Select a mode of operation for the base station and provide the necessary information.
  4. Select the box for Socket Server/NTRIP Caster.

Arduino Libraries

There are some compatible Arduino libraries available for users interested in connecting their GNSS Flex module to a microcontroller.

TinyGPS++ Library

For basic use cases, where users have already pre-configured their GNSS receiver, the TinyGPS++ Arduino library can be used to parse out pertinent data from the NMEA messages of their GNSS receiver. This is useful for extracting basic information, such as position, date, time, altitude, speed, and course from consumer GPS devices. This library can be installed from the library manager in the Arduino IDE by searching for:

TinyGPSPlus

Library listed in the library manager of the Arduino IDE

The TinyPGSPlus Arduino library in the library manager of the Arduino IDE.

Manually Download the Arduino Library

For users who would like to manually download and install the library, the *.zip file can be accessed from the GitHub repository or downloaded by clicking the button below.

Receiver Specific Libraries

Some GNSS receivers may have a compatible Arduino library. As an example, the mosaic-X5 GNSS receiver has an inordinate amount of configuration parameters and is most readily configured through its web interface; therefore, an Arduino library hasn't been created for it. Whereas, the ZED-X20P GNSS receiver has a pre-existing SparkFun u-blox GNSS v3 Arduino library that includes built-in examples, which the GNSS receiver is compatible with.

Info

Please refer to the hookup guide of your GNSS Flex module for more details.

Note

mosaic-X5 Web Interface

The mosaic-X5 GNSS module hosts an internal web server to configure and interact with the GNSS receiver. The default IP address allocated to the Ethernet-over-USB connection is 192.168.3.1. This IP can be entered in any browser to open a connection to the receiver's web interface.

Info

The default IP address cannot be changed; this feature is only to be used when a single receiver is connected to your computer.

Sharing Internet Access

By default, the mosaic-X5 GNSS receiver is not configured to access the internet through the USB interface. In order to receive or cast RTK corrections to/from a RTK network, such as NTRIP, users will need to enable this capability.

  • Users will need to use the web interface or RxTool software suite to enable the Outgoing Internet Access Over USB from the Communication > USB drop-down menu of the navigation tabs.
  • This also requires users to allowing Internet sharing through on their computer as well. The procedure to do so depends on your operating system.
    • On a Windows PC, users must enable Allow other network users to connect through this computer's Internet connection, through the properties option of the network adapter with internet access.
    • On a Linux computer, users will likely need to configure a network bridge.

New IP Address

Once a network bridge is enabled, the receiver will receive its IP address from the computer's DHCP server. Depending on the routing table, the module may no longer be reachable at its default IP address (192.168.3.1).