RTKlib Touchscreen GUI for Raspberry pi2


This is a open source software of a touchscreen GUI for RTKlib made for a Rasperry Pi 2 and the 5 inch HDMI touchscreen, the software is done with QT 4.5 on a Raspian OS.(can work on any linux machine too)

This project was developped by a student of the master PPMD of ENSG (geographic science highschool in France) and now maintain in open source on Github.

It was made for a easy use of Rtklib on the field, you can use it as a Basestation to send RTCM3 data to a rover to RTK positionning, you can also use it in rover mode to get initial base position or as a real RTK rover to get position of target or objects on the field.


Actually it can do :

- A Basestation for your RTK rover

- A RTK Rover if you have a Basestation, or a standalone GNSS

- Do all configuration setting for Rtklib connectivity and data stream in Base mode

- Choose betwen automatic or manual input for base position (automatic is the last position recorded in rover mode)

- Choosing between 6 preset solution  type in rover mode : Single/SBAS/DGPS/PPP-Static/RTK-Static/RTK-Kinematic

- Loging data for post processing

- Display actual solution and various data about it ( sats number and level, streams, track, etc... )

- Save actual Position in rover mode with a button, files wil be logged in a separate folder, just press the save button to record the actual position

So on the field you will get this

All 3D printing files for the box are included in the Github folder, you can find all installation instructions in the Wiki here:


The projects files are in teh Github here:


For a easy installation for non linux users , a pré-installed disk image can be download and copy to the SD card with Rufus on windows 

  • Copy this image on a SD card, you can use Rufus for that : https://rufus.akeo.ie/
  • Insert the SD card in your Raspberry Pi and start it.

.Pré-installed image for raspberry pi is here :


To build the base you will need:

  • Raspberry pi 2 and a 8gb SD

After 3D printing and assembly it will look like this





Wartch for updates, a small multirotor rover RTK module will be made this summer...

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

Join diydrones

Email me when people reply –


  • Very cool project, I wanted to ask, does anyone have examples of rtklib in their own api? What would it take to get basic solution to the console.

    I have been studying c and the rtkrcvcode, but it is hard to separate what is for GPS and what is for the console (args, vargs ect...). I just want to get a solution and be able to use that solution for other things
  • Hello

    I just uploaded a new buid script for x86 pc ( build_rtkbase_QT5_x86.sh ) you can try it, if it doesn't work , try to instaall qtcreator with qt5 (https://www.qt.io/download ) and choose RTKBASE.pro to compile the project . you can try the script after installation of qtcreator to see if it work with qtcreator  

    Get Qt - Download now
    With Qt, you can reach all your target platforms – desktop & embedded – with one technology and one codebase, minimizing your time-to-market and main…
  • Bonjour, comment allez-vous
    J'essaye d'installer dans ubuntu pour faire quelques tests mais je ne peux pas faire le programme conpile

    Je ne suis pas très expert je m'excuse mais quelles seraient les étapes et les programmes nécessaires pour pouvoir l'exécuter à partir d'un pc avec linux

    Hello how are you
    I'm trying to install in ubuntu to do some tests but I can not make the program conpile

    I am not very expert I apologize but what would be the steps and the necessary programs to be able to execute it from a pc with linux

  • Hello
    The winter project was dona and is working well, a new branch was created in the github with original (clean)release, the master branch is still in progress but looks like working with NOAA server for USA
    Here is a video of post processing with rgp.ign.fr data and one with CORS geodesy.noaa.gov, the results are not correct with CORS because the rover is in France and stations in USA. The epoch have to be adapted because hourly data are only available 3 days. If you use auto base mode you have to close RTKBASE to stop the base mode (else it will still run in background). Software will also crash if not enough stations are found.

    Carte du réseau | RGP
  • Somr news of the project, there is a new branch with a working rtklib 2.4.3b29 here:


    There is also a new pre-installed image for raspberry pi 3 with latest rtkbase and rtklib 2.4.2 version here:


    The new features are :

    • Data logging from the GNSS for post processing, just choose file in output of the basestation and it's done
    • Save position option, you are able to save X points you want to record with choosen timing
    • 8 custom configuration files to the original preset
    • You can edit edit most of the RTKlib parameter with the gui for the 8 custom config
    • Display of system and GNSS time and date in solution status windows
    • Push button to set PI system date and time with GPS date and time

    The ENSG students made a video on the rtkbase (sorry for the bad sound sometimes)

    They have a new update project for this winter, with internet connexion on the base, after a automatic data logging, collect correction data for post processing, then do the post process on the raspberry pi to get a better accuracy on base position.At first it will work with french base servers from IGN, if it works we will try to add more free data correction servers for other countries.    


    RTKLIB GUI for Raspberry Pi with touchscreen made with Qt by the ENSG students - Francklin2/RTKLIB_Touchscreen_GUI
  • Nice, you got it working! A new release of RTKlib is out : 2.4.3b29 a lot of things have changed and it don"t work yet with RTKbase, library nuild work with a few errors but RTKbase build get a fatal error, I trying to update rtkrcv.c and str2str.c, there was so much changes , so I try to add our modifications to the 2.4.3b29 release, it will be more easy and safe.

    I open a new issue on the Github for the 2.4.3b29 

  • Got it working. The problem was the config file that came down with the git pull had some options that seemed to stop my setup from working. I imported a working config file from my windows rtklib setup, and it looks to be working properly now using the Beta 1.1 branch.

  • You should have satellites in about 30 sec/1mn max, so there is a problem, I tried to compile master branch and use it with a Ublox M6T and M8T and it works and got sattelites (using a Ntrip base on internet), try to use beta with 2.4.3, I saw that the problem was partially corrected in the beta and nosat problems.

    While building I saw some error about RTCM messages and the debug data is missing for RTCM stream messages(but RTCM NTRIP work for solution, all solution modes seemed to work ). I dont know if the syntax change or if there is new value to include in our RTKlib library...(data read is on rtkrcv.c near line 750) 

  • So I have it running and put it outside for a test, but I can't seem to get it to pick up any satellites even after 30 minutes.

    I'm using it in Rover RTK-Static mode, and am using an rtcm3 CORS base station via the internet.

    The GPS unit is a Ublox M8T at 1hz with raw observations enabled. The logs show that it's receiving and logging the ubx stream from the rover's GPS, and the rtcm3 stream from the remote base.

    Any ideas on what could be going wrong?

  • Yes it's the change between 2.4.2 and 2.4.3 ... Not really good, test it more but I don't think every function works as it should with 2.4.3

This reply was deleted.