Skip to content

Getting started with RTKLIB

At this point, we have verified that the GPS hardware and the link to the PC are working properly, and are ready to start using RTKLIB to collect and process the raw GPS data.

Start by downloading the RTKLIB executables to your computer.  The main branch (2.4.2.11) is hopelessly out of date by this point so I would not recommend using that.  You can either download code from the Github RTKLIB 2.4.3 branch or you can use my branched version of the code in which I have made some improvements and added some features geared specifically towards low-cost receivers, especially those from u-blox.  The 2.4.3 executables used to be in the same Github repository as the source code but have been moved  into a separate RTKLIB_bin repository.  If you choose to use my code, the executables are posted on the code downloads page of this website.

You will also need two input parameter files.  The first is a command file which is used by RTKLIB to configure the receivers before beginning data collection.  This can be used to specify parameters such as the sample rate and which satellite systems are enabled.  It is also used to enable the output of raw GPS data from the receiver.  These files can normally be identified by their ".cmd" file extension. There are several sample command files included with my version of the executables for both the M8N and the M8T receivers.  You may want to download my code even if you plan to run the 2.4.3 version, just to get the parameter files.  Otherwise you will find other examples by searching the web or you can create your own.  The documentation for command formats is in the RTKLIB manual.  These files are receiver-specific, so make sure you are using one intended for your receiver.

The second input file is used to configure RTKLIB and these files will have a ".conf" extension.  RTKLIB has many options and they can all be set from this file.  The same file can be used for any of the RTKLIB data processing apps.  Again, you can find several examples included with my executables.

There are actually two sets of executables built from the same codebase, a GUI set, and a command-line set, each with several apps, some designed for real-time use, and some for post-processing.  For most of my work, I use the RTKCONV GUI app for translating raw data and the RNX2RTKP command-line app for post-processing the data. I collect the data using either STR2STR (command-line) or STRSVR (GUI) .  I use this set of apps because I find it makes easier to keep track of all the data, configuration files, and results using  a set of wrapper functions I have written in matlab.

For getting started though,  and for real-time processing on a laptop, the RTKNAVI  GUI is the way to go.  It is single integrated app that is easy to use and that provides an interactive window into everything that is going on in the collection and processing of the data.  It can also log the data to file for later post-processing while interactively processing it.

rtklib

In the next post I will walk through the process of using RTKNAVI for the first time and demonstrate some of its features.

3 thoughts on “Getting started with RTKLIB”

  1. Use the file swap option (::S=hrs at end of filename) in STR2STR to create a new file every specified number of hours. Use time keywords in the filename so that the filenames are different. Look for “keywords” and “file swap” in the RTKLIB User Manual for more details. You can then write a simple script (python or batch) to look for new files and then transfer the previous one.

  2. Hello, I am using RTKLIB on a Raspberry Pi 4, with a U-Blox ZED-F9P receiver attached. I am trying to have the Raspberry Pi begin collecting data automatically whenever it is booted. I have seen your post on rtklibexplorer where you go into the details of using str2str, and you say there are ways to do this.

    I am not super knowledgeable on this topic, but I have created a simple script that works to collect data when I run it from the RPi terminal, but when I run the script at startup, I get a message: “str2str: command not found” even though I can run the same script myself and have it work.

    Do you have any idea what could be causing this?

    Also, once the data file is logged and has been running for 24 hours, I am looking for a way to transfer it to another computer, and then start a new file. Any ideas for this are also appreciated.

Leave a Reply

Your email address will not be published. Required fields are marked *