Centimeter Precision GPS/GNSS - RTK Explained


Think about the GPS/GNSS receiver in your mobile phone or in your car: this is what we call a Standard GPS (or GNSS*) receiver. Standard GNSS receivers available in the market today, have an accuracy between 2 and 10 meters, and only in outdoor conditions. This accuracy depends on the product quality and if the device is used with perfect view of the sky or not. Under perfect conditions, the best you can achieve is an absolute accuracy of around 2 meters.

*GNSS stands for Global Navigation Systems, and it’s a word to include not only GPS but also other satellite based positioning systems like GPS, GLONASS, BEIDOU, Galileo, QZSS…

Interestingly, if we take 2 GNSS receivers and place next to each other in an open field, both will have the same 2 meters error, and in the same direction! This allows us to calculate the GNSS error, and also calculate with 1 centimeter accuracy the relative distance between them. So we still have an absolute error of 2 meters, but a relative accuracy of just 1 centimeter.

Imagine now we install one of the two GNSS receivers in a known location, with 1 cm error. We now have both absolute accuracy of 1 centimeter and relative accuracy of 1 centimeter in the second unit! Check out this very good 2 minutes video introduction to centimeter position from u-blox.

But this technique is not new. This is a very old technology called Differential GNSS or RTK GNSS (Real-Time Kinematic), and since 20 years allows civil applications to have 1 centimeter accuracy (RTK position). In RTK wording, the fixed unit is called “Base Station” and the moving unit is called “Rover”.

Someone: “So what is new? I also heard it’s a very expensive technology, and that you need to receive a training to use it right?”
ArduSimple: Not anymore :). At ArduSimple we try to make GNSS RTK technology simple, affordable and accessible to everyone. With a series of starter kits, tutorials and OEM products, we allow our customers to:

  • Test the technology and believe it is possible to achieve centimeter-level precision at affordable cost.
  • Accelerate their projects and products, thanks to our plug and play development boards and starter kits.
  • Create products and solutions, thanks to our support, turnkey services and pre-configured OEM products.

So how can I start?

The RTK receiver

First we need a GNSS receiver that can calculate RTK positions, like simpleRTK2B board. A standard GNSS receiver doesn’t have enough calculation power for RTK.

Second we need a very good GNSS antenna, like simpleANT2B. We cannot use a traditional cheap GNSS antenna, because we need to be in the best possible conditions, so we can really measure the GNSS errors. Additionally, we need to forget about using the RTK GNSS in our pocket or next to the window: RTK GNSS only works with open sky view. So installation of the antenna also becomes an important topic. We recommend having a look at our RTK GNSS antennas installation guide.

Now that we know the 2 basic elements of an RTK receiver, you also know the reason why we launched our Basic Starter Kit:

simpleRTK2B Basic Starter Kit IP67

But actually, we will need 2 sets of RTK receiver + RTK antenna, so we can set up a “Base Station” and a “Rover”. This brings us to the topic of RTK corrections.

RTK corrections

RTK corrections are the information sent by the “Base Station” to the “Rover”, so the “Rover” can calculate its RTK position. The language/protocol used to send this information is called RTCM. In order to calculate this RTK position, both receivers needs to see more or less the same satellites. For this reason the RTCM corrections are only valid up to a distance of 50km from the Base Station (some people say 25km, some people 35km, the exact number will depend on the antenna and receiver quality). It is also useful to know, that the corrections from one base station can be used by as many rovers as possible, as long as they are within this 50km range from the Base Station. This would be a multirover setup.

RTCM corrections are usually sent via a serial port, one time per second is enough. For units which are very close to each other, we can use cables to connect them, but to cover longer distances we will need a wireless serial communication. For this reason we added a socket (we call it XBee socket) to our RTK receivers, so adding cable or wired communication between base and rover would be an almost plug-and-play task. 

To make it even simpler, we developed a few starter kits to test this setup:

simpleRTK2B Starter Kit LR IP67

MR and LR radio links need RF line of sight between base and rover in order to work. Have a look at our post about visual line of sight vs RF line of sight to understand this concept.

If you want to have multiple base stations to cover a larger area, or have problems to guarantee line-of-sight between the base and the rovers, the above point to multi-point radio communication is not an option for you. In this case, or if you just happen to have IP access available in both base and rover locations (internet or local network), RTK corrections can also be sent over IP communication.

NTRIP Protocol

NTRIP is a language/protocol to distribute RTCM corrections over internet/local network data IP packets. This allows to expand RTK networks with infinite bases and infinite rovers. A network with several NTRIP devices it’s called a NTRIP network. There are 3 possible elements in a NTRIP network:

  • NTRIP caster. It’s a server that accepts connections from “Rovers”.
  • NTRIP server. It’s a single physical RTK base station. It’s role is to send RTK corrections (RTCM corrections) to a NTRIP Caster, so the Caster can distribute them to other clients. In networks with only one base station, it’s quite common to have an NTRIP server+caster together. In this case only the caster function is configured.
  • NTRIP client. An RTK receiver that wants to receive RTCM corrections. RTK Rovers are NTRIP clients.

NTRIP network

Our simpleRTK2B boards don’t have IP interfaces (ethernet, wifi, etc) and don’t understand NTRIP protocol. They need someone outside to convert from NTRIP to RTCM and viceversa. For this reason we developed a series of accessories to enable NTRIP in our boards:

  • Bluetooth: connect your simpleRTK2B board to your mobile phone via bluetooth. Your phone can now act as NTRIP client, server or caster

NTRIP Bluetooth

  • WiFi: you have a WiFi network available in your area, plug the WiFi NTRIP Master accessory and use your board as “NTRIP client”, “NTRIP server” or “NTRIP server+caster”.


  • 4G NTRIP Client: let your simpleRTK2B board become an NTRIP client anywhere where there is cell coverage.

NTRIP 4GAlternatively you can connect simpleRTK2B board to a PC or mobile phone via USB and use an application in your PC or mobile phone to do this conversion. Check out our tutorial to learn how to connect to a NTRIP caster.

RTK correction services

In some countries, the local authorities have already installed a network of base stations with their corresponding NTRIP servers, and they offer access to an NTRIP caster for free with almost national coverage. In these cases, usually only a basic registration process is required.

There is also the www.rtk2go.com community of users that share for free their base stations online, without quality of service. You can check the list here: http://monitor.use-snip.com/?hostUrl=rtk2go.com&port=2101

If you are fortunate to have a RTK correction service in your area, you are one of the lucky persons that needs minimum setup to use RTK. You only need our Basic Starter Kit and a PC and connect to one of the above NTRIP Casters, following our tutorial on how to connect to a NTRIP caster.

ArduSimple RTK correction service

If you don’t have access to a free service, you want to connect to an RTK correction service with quality of service or just don’t want the hassle and limitation of setting up your own base station, ArduSimple is also offering it’s own RTK correction service with coverage in Europe and North America.


We hope this has helped you understand better what we do and what you need to start using RTK. If you want to read more, you might be interested in checking out our tutorials, or our Q&A forum. If you couldn’t find what you were looking for, and you still have any questions, do not hesitate to contact us, we always answer!