New GNSS Tutorials

Nate has written two new tutorials - learn about setting up a rover base RTK system and how to build a GNSS reference station.

Favorited Favorite 2

We are big fans of highly accurate GNSS RTK modules - so much so we've designed and made a series of boards that utilize them. In fact, one of the biggest fans of these modules is our very own Nathan Seidle. Recently, Nate assembled a few of the projects he has been working on while in quarantine, and turned them into tutorials so you can build them too!

Setting up a Rover Base RTK System

October 14, 2020

Getting GNSS RTCM correction data from a base to a rover is easy with a serial telemetry radio! We'll show you how to get your high precision RTK GNSS system setup and running.

This tutorial will walk you through setting up a base and rover so your rover can have the same ~14 mm accuracy surveyors use! This can be useful for all sorts of projects including agriculture, drones, mapping, and even some extreme geocaching.

We’ve been using the ZED-F9P from u-blox for a few years now. While it is a bit pricey (~$200) it is a fraction of the cost of other RTK systems, which range from $3,000 to $20,000 or more! The ZED-F9P is as impressively powerful as it is configurable. We will also be making liberal use of u-center from u-blox - don’t worry, we’ve got a tutorial for that. Unfortunately u-center is currently only for Windows. For the more adventurous, SparkFun has created a popular and powerful u-blox Arduino library that can do everything u-center can from an Arduino.

How to Build a DIY GNSS Reference Station

October 15, 2020

Learn how to affix a GNSS antenna, use PPP to get its ECEF coordinates and then broadcast your own RTCM data over the internet and cellular using NTRIP to increase rover reception to 10km!

GNSS Real Time Kinematics (RTK) is amazing, but one of the major confusion points is getting access to correction data. We’ve covered how to get publicly accessible RTCM correction data in previous tutorials, but it can be spotty. We’ve discussed how to set up your own temporary base to send RTCM correction data over a telemetry radio link, but what if you are a kilometer or more from your base? This tutorial will focus on setting up your own fixed antenna on your roof or other stationary structure, and configuring a mini-computer to serve that data over the Internet, where it can be accessed by WiFi or, more commonly, from a cellular phone or modem. Consider this the sequel to Setting up a Rover Base RTK System.

Learn how to generate your own GNSS correction data and push it to the Internet, all for free (or the cost of a dedicated mini-PC if you need it)! You’ll be your own music streaming service! Your rover will be able to listen to that correction data using a cell phone connection.

Comments 4 comments

  • Member #1535910 / about 4 years ago / 2

    Hi Nate, After using your NEO M8P breakout with serial connection, I now purchased the ZED-F9P and tried to use your Ublox_GPS_Py module for my Raspberry Py. Unfortunately you provide only serial and SPI communication ports setup and no I2C bus setup. Can you somehow help on how to send messages to or poll NMEA data from the ZED-F9P using Python? Thanks

  • Member #56698 / about 4 years ago / 1

    My application would require that I record the base station data for perhaps an hour while I go out into the field and collect roaming data. I would then need to perform a correction operation on the two data sets when I returned from the field. It would be helpful if a tutorial could be made about this process.

    • Member #713939 / about 4 years ago / 1

      I think the idea here is that you take this project and now make it your own.

  • Member #1732475 / about 2 years ago / 0

    Hello Nate, First of all thank you for this wonderful tutorial! I have a question regarding the RTKCONV program, I have uploaded my ubx file into RTKCONV but once I hit Convert I get nothing. If I open the location of the of the ubx file while hitting convert I can see the obs file quickly appears then it’s gone. Am I missing something along the way? Any help would be appreciated!

    Thank you!

Related Posts

Recent Posts


All Tags