NAVIO: RTK demonstration

Hey guys, we wanted to share a visual demonstration of  RTK GPS.  The demo was made with NAVIO board and Raspberry Pi running RTKLIB. Plots display how RTK GPS solution compares to a single GPS solution from the same receiver.

RTK is a type of differential GPS where two receivers are used - one is stationary and acts as reference station by calculating corrections and sending them to another receiver - rover, that can apply those corrections and increase the accuracy of coordinates.

Corrections in RTK are calculated based on carrier phase measurements and resulting coordinates can be accurate to millimeters. But unlike code cycles, phase cycles are indistinguishable and that creates a problem of integer ambiguity.

In RTK terminology there are different types of solutions:

  • Fix (green on plots) - Solution with fixed integer ambiguity (centimeter accurate).

  • Float (yellow) - Integer ambiguity is not fixed (accuracy floats, may be decimeters).

  • Single (red) - No differential corrections applied (meters accuracy).

RTK is a well-known technology in the field of geodetics, but commercial systems could cost a fortune.

NAVIO is equipped with a special version of u-blox NEO6 receiver - NEO6-T, which outputs raw GPS measurements. And as RTK is differential GPS - two receivers should be used, but one of them could be replaced by corrections from the internet.

We have conducted several tests with NAVIO boards. The antenna was placed on the roof of a vehicle and kept static. 


After that it was driven in a circular path.

RTK is an advanced feature and multiple factors influence quality of the solution - antenna, RF interference, satellite visibility. To keep track of the latter, we usually check ourselves with SatPredictor tool before going to the field. It creates a nice plot with quantity of visible satellites based on your area, date and elevation mask (common rule is to set it to 15deg).


We have different antennas, but usually use Tallysman dual-feed patch as it has very low noise figure and high gain. A rule of a thumb for good RTK performance is to have several satellites with SNR (signal/noise ratio) around 50. A good idea is to have the base permanently installed on the roof of your home or on the roof of club building at the field and broadcast corrections over 3G. This way you can share the base station with your friends and colleagues. Permanent installation would result in a more reliable and predictable satellite visibility. In some areas RTK corrections are already available from universities or other organizations, search for NTRIP servers nearby.

P.S. By the way, float solution does not mean bad solution.


We’ll post a tutorial how to set up RTKLIB soon, you can subscribe to our blog or follow us on twitter to stay informed.


E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • i also want to know the performance VS Dual frequency GNSS receiver, 

  • Could you tell me if RTKLib is already implemented into PX and NAVLink supports

    upload of RTK messages via radio or just another radio is required to deliver RTK corrections to PX board on the drone.

  • Stefhan,

    NAVIO board already has a GPS onboard. There are different options how to set up RTK:

    1. One RPI+NAVIO is a base and another RPI+NAVIO is a rover. A radio link should be organized.
    2. One RPI+NAVIO is a base and multiple RPI+NAVIO could use corrections from a single base if range is <10km. Corrections could be transferred over the internet.
    3. One RPI+NAVIO is a rover and you have access to a reference station nearby which outputs RTCM.

    Onboard GPS could also be used as a normal GPS without differential corrections.

    We are going to sell NAVIO boards, but we are thinking about making a complete ground station and rover solution in an enclosure with battery, antenna, radio etc.

  • Will you sell NAVIO RTK Ready(Rasp pi , 2 GPS and NAVIO)?Will have a ground control  station available?

  • I will just transfer the reply from the first post for the history and additional info.

    We have tested RTK on speeds up to 100km/h and had a fixed solution, so speed should not be an issue here unless you are on a rocket.

    The communication is unidirectional just to transfer the corrections, it would be a good idea to add them to MAVlink. You can use following methods to send RTK corrections:

    • 3G/4G modem
    • Wi-fi dongle
    • Any uart radio

    Vertical accuracy is usually 1.5-2 times horizontal accuracy. Corrections are in RTCM format, but RTKLIB supports many native GPS protocols. 

  • Charles, we are not trying to compete with survey grade receivers, what we want to do is come close to their performance at a fraction of a cost and in the same package with autopilot. The NAVIO board will cost 165$ and you will also need a Raspberry Pi (25-35$). And assembled it will look like this. 


  • I am interested to see how this system works compared to something like Novatel, which I use everyday for RTK solution.  How much do you expect this system will cost?

  • Stefhan, in this demo two GPS units were used, connected over 3G network but you can use any other kind of radio link - for example Xbee.

    Greg, thank you! We have to finalize some organization issues, but we are trying hard to start preorders in a couple of weeks.

  • Awesome! Just when are you going to sell these? 

  • In professional usage, and remote areas, we cannot rely on 3G. Do you have NAVIO RTK samples with 2 GPS?

This reply was deleted.