RTK vs M8N Comparison - Rover

As promised in this discussion, I have done a simple comparison between a cheap single frequency RTK system and the ubiquitous Ublox M8N. This previous discussion centres around whether or not there is any real word advantage to be had from using the newly available cheap RTK GPS systems with our autonomous vehicles. The RTK unit used here is the 5Hz version of the NS-HP-GL from Navspark which together with the active dual band antenna comes in at $125 USD. The M8N is from CSG Shop and comes with an integrated Taoglas antenna and currently sells for $72.99 USD. The purpose of the test was not to verify the accuracy claims of the RTK receiver but rather to see, if in something approaching normal use, there is any distinct advantage. For this comparison I elected to use both GPS units configured for simultaneous use on my rover and manually drive around a pre-marked course repeatedly over a number of successive days. I have used the perimeter markings of a local football field for this purpose.

Google Photos
(Large Panorama Here)

The RTK receiver gets its corrections via an NTRIP client running on an ESP32 board using a WiFi internet connection from a hot-spot set up on the phone in my pocket. The base station information can be found here. The baseline for this test was ~3.2km. A ‘FIX’ solution was obtained approx 2 minutes after start up before commencing the test and was maintained through out. Both GPS receivers are mounted at the front of the rover approx 5cm either side of the centre line of the vehicle.

The test procedure included manually guiding the rover around the perimeter of the football field at walking pace (~1m/s) in an anti-clockwise direction starting from the SE corner. I followed behind the rover at a distance of ~3m. I managed to keep the perimeter line I was following within the two front wheels at all times. This equates to a maximum of 15cm cross track error. This procedure was repeated on each of three consecutive days.

The M8N maintained a ‘DGPS’ solution through out and was using 18-19 satellites. The reported HDOP was 0.59-0.61. The RTK system mantained a ‘FIX’ solution through out and was using 15-16 satellites. The reported HDOP was 0.6-0.7. Notibly, the M8N typically reports a better HDOP compared to the RTK system.

After downloading the results from the initial test run, I was faced with an obvious anomaly in the shape of the football field that the rover traced out. This prompted me to return to the field and accurately measure the location of the 4 corners using proper survey equipment. Using local survey marks as a control, I established the location of these corners with an absolute accuracy better than 5cm. These form the polygon marked ‘Survey’ in the KMZ file and represent the real world intended track (shown in black). Surprisingly, although the two short ends of the field come in close to being the same, the long sides are almost 3m different in length. The discrepancy is not so obvious from ground level. Perhaps not so surprising since this is a practice field maintained by the adjacent high school. Also worth mentioning is the discrepancy between the ground coordinates and the Google map image. I have found this type of error typical and consequently never rely on GM to determine locations at this scale.

The results of the tests over 3 days show a high degree of consistency between the RTK positions and the route established by recognised survey methods. It is obvious that the accuracy of the RTK position is better than the accuracy of my piloting ability.

Zoomed to better show track accuracy:

The M8N did not fair so well with significant deviation from the intended track along with significant deviation day by day. Based on simple screen measurements, the maximum cross track error comes in at well over 3m and the total range of error is around 5m. I will calculate the actual cross track error mean and max for each GPS/day and present it in a day or so.

Same zoom level/location as previous:

For my use, I am very happy with the increased level of accuracy I get for the additional ~$50 I have spent on my RTK system. In fact, it is this accuracy that makes my particular application viable…

Logfile example
KMZ File


Thx for this helpfull information.

1 Like

How far were you from the actual RTK Base station?

As stated, base line length is approx 3.3km. I have worked successfully up to 30km. I have also set up my own base station using the same Skytrak receiver and also using the Ublox M8T

This is a really great blog. Amazingly good performance for such a reasonably priced RTK GPS.

It’s hilarious that the football field isn’t rectangular :-). To be off that much is a surprise!

1 Like

Thx for this helpfull information.

1 Like

Randy, I approached the high school and the custodian said that he was not surprised. I offered to help them layout the field next season.

jimovonz is very interesting your test
I was looking your images and something typical in rovers with single gps systems is due to the slow speed we usually work with (in order of 1m/s) the accumulative xtrack error increases a lot in a single straight line (for example you can notice it in some of the tracks of the long side of the field in your pictures). this is a problem for example in a survey type ride where when you return from previous long line and you wish to maintain same path to path distance (that is near a meter in a mower for example)
Most agricultural sprayers work fine with simple gps guidance systems because their speed is near 5 m/s and distance between lines is perhaps 30 mts.
Flying surveys are more like sprayer example but in most of our rovers rtk is really IMPORTANT
I think is there sometimes also some confusion in the discussion of precision in gps. Most important thing is precision as a concept relative to a previous known position near in time. Absolute position is not so easy (if you look through time ntrip station logs also have drifts) and big earth areas moves sometimes several meters in an earthquake for example

Can you please elaborate on your setup? I’m interested in NavSpark RTK, how easy it is to connect and use. Is it 5Hz for GPS/Glonass or GPS only? How do you connect it to ESP and what software do you use on ESP?
Thank you.

Hi Anton,

The unit I have is 5Hz and utilises both GPS and GLONASS satellites. A 10Hz version is also available. I typically have 10-14 satellites used in the RTK Fix solution. The GPS requires 3.3V where as my Pixhawk supplies 5V (Telem1) so I have soldered a regulator directly to the GPS (which also supplies the ESP32). This GPS has a separate UART for RTCM 3.2 correction data so there is a total ot 4 conductors connected (Vcc, Gnd, Rx2 (RTCM in), Tx1 (NMEA out) - plus jumpers to the get Vcc/Gnd to the RF side of the module (as per the ‘minimal connection’ diagram). In order to get an RTK fix, all that is required is to feed in RTCM correction data to RX2 at 57600bps. You can implement your own NTRIP client on an ESP32 to achieve this like I have but if you can rely on having a GCS onsite with telemetry then you can feed the corrections over the telemetry link using the built in facility of Ardupilot and the likes of MissionPlanner. I wrote my own software for the ESP32 which includes a telemetry bridge and connection stats via a webserver - please feel free to hit me up if you want a copy. This of course relies on correction data covering your area of interest being available. In my case we have a free network with a base station nearby that gives me good coverage. If you are in the US then this may help: http://gpsworld.com/finally-a-list-of-public-rtk-base-stations-in-the-u-s/. Otherwise Google is your friend! Failing that, you can use a 2nd GPS module as a base station to source the correction data. I have successfully used both another Skytrak reciever as well as Ublox M8N (older model with suitable firmware) and Ublox M8T for this however, There was very little advantage and more hassle with this solution given that the corrections were freely available via the internet in my case. Please note that using the Ublox receivers as base stations with the Skytrak module required the use of RTKLIB running on the GCS computer. In my case I use either a GSM module for a stand alone internet connection for the ESP32 or a cellphone set up as a hotspot. I have not had any significant problems setting up this system and am very pleased with the results.