Hello I think I may have some fundamental misunderstanding of how RTK works, but if AgOpenGPS is configured to connect to my local areas NTRIP service and my GPS receiver (Panasonic toughbook cf19 onboard gps, non RTK to my knowledge) is AgOpenGPS combining the GPS and the correction data?

If not, and you do need an RTK GPS receiver - why? Couldn’t the computer do whatever the RTK receiver is doing with the information?

Ntrip does not work for non-rtk gps receivers. The corrections are done at the raw signal level.

So I’ve heard, but I don’t understand why, what exactly do the corrections provide that can’t be applied to an nmea sentence that all GPS receivers spit out

The nmea sentence doesn’t have nearly all the relevant data required to properly correct each satellite’s error.

I once tried running two receivers/antennae side by side and using the ones nmea position drift to correct the other one and it still had quite a bit of drift.

The base station is placed on a known point, the base views the sky and sees movement, but its not moving it is static and stationary.

This “false movement” is cause by phase errors of the coded signal travelling from the satellite to the ground. These phase errors are the largest part of the correction. Also the bases known location is sent. ( and some other stuff )

The rover is in kinematic motion, it does not know what is truly motion or what may be error.
By receiving real time corrections from the base, and the baseline distance to the base, the rover is able to fix its mathematical model for position.

Trigonometry and Atomic clocks, very cool.

NTRIP is the Networked Transfer of RTCM over Internet Protocol. It is just a way to send the RTCM corrections it does not add any accuracy its just a communication protocol.

Why can’t a standard cheap gps receiver receive these corrections?

The ntrip has the capability of emitting two corrections. But they typically do not. Here is the short answer why.

Your GPS and the base station may or may not be receiving the same satellites. So, G1 it sees and calculates just what is wrong with that signal, the rtk tells the rover how to calculate and adjust the G1 it is seeing. But you can’t get location off one satellite. So it may send g1, ,g2,g3,g8,g9,g10. Or what ever it has determined its best 10 signals. Then, the rover really needs those 10 or parts of them to calculate the corrections based on what it is seeing.

Because the corrections must be applied before the nema or any other steam is built. The corrections do not come as x,y,z.

Here is a partial decode of my local Ntrip

1 Like

A cheap receiver lacks the algorithms, and some extra bits of hardware to decode the messages and crunch the needed calculations to use them.
This also in most cases makes RTK a battery draining technology.

Its physical hardware limitation and software limitation.

Hmm it’s still not clear to me, if it’s just a case of correcting the data before generating NMEA sentences, then surely you could get such data from a cheap receiver before it turns it into NMEA

If the issue is software then couldn’t a computer do the processing

If there’s hardware missing from a cheap GPS receiver, what hardware is it and what does it do?

You can’t get between the signal and the tx out. The antenna brings in a bunch of signals, the cheap GPS as a unit converts those signals to tx.

Think of it as a V8 car engine. Each cylinder is a satellite. The crank converts that to rotation. Your transmission is the corrections. Then out the drive shaft (tx) to the rear end and etc. You can swap rear ends, but you need a transmission to change the gears. Cheap GPS is built with a single gear transmission. You need a better transmission. And it comes with the whole car.

1 Like

Yes you can but only if you can record raw data over a period of time, and then post process it on a PC using rtklib.

The breakthrough with the f9p is that it has enough internal processing power to do the post processing in real time right on the chip.

Agopengps is merely receiving the base station observations (so called corrections) from an ntrip caster online and sending them via serial Port to the f9p. Personally I use a Bluetooth adapter to send corrections directly to the f9p without them going through aog. I also do it by radio link sometimes. Again direct to the f9p with no intervention from aog

Aog could theoretically run rtklib to do the rtk processing, but it would require a lot of data from the receiver. It’s far simpler to let the f9p do everything and just read the nmea sentences. Would be even better if the f9p could do terrain compensation with a built-in 9dof imu. Hopefully some day soon!

What time period would you need to do RTKLIB post processing to achieve reasonably accuracy? I’m wondering if you could do it somewhat “live” if you are moving slow enough

It is not only that F9P has the power to process all the raw data and NTRIP corrections. Those cheap and simple receivers are not at all able to work at carrier phase level, they only process the spreading code which is more than an order of magnitude difference in accuracy and even more in processing power. They are not able to provide the raw data for post-processing by AOG even if AOG was able to do it.

Right. Most receivers won’t work with RTKLib.

Here’s a list of receivers that rtklib works with (and many of them are L1 only):

RTKLib can do real-time processing. That’s what the old Reach RTK units used to do. They were a computer running RTKLib and a L1 ZED-M8P receiver. RTKLib still has its place, especially for doing post processing of long-term observations, but the F9P and SkyTraq receivers are so cheap that it’s just not worth using RTKlib for AOG.

1 Like

Okay I’ll look further into this route, not sure what it costs elsewhere but I can get an M8 for $10 or an f9 for $450

1 Like

I think must use an m8p. I tried with m8t and it was not a success, very hard to get a fix.

Very few of us had any luck with the M8P either in the original Reach RS product. Since it’s L1 only and single band, the fix took ages and often would just sit in RTK float without resolving to a fix. Was very frustrating until the F9P became available.

Besides all that you have to learn how to use rtklib and its various daemons which has a huge learning curve. There’s a reason people at the time bought the Reach RS which integrated it all. But like I said, it just proved to be inadequate with the single band receiver.

The dual band systems like the F9P are just so much more reliable and faster, that they are well worth the cost.


So you mean two F9P receivers for $450? Ardusimple simpleRTK2B is €172 per piece, excluding the antenna. There was an even lower cost product, brand mentioned somewhere here.

Good point. He’d need two receivers anyway because even the M8P with rtklib requires a base station.