Hardware needed:

Configure gps-module

Connect module to laptop;

stty -F /dev/ttyUSB0 9600 -echo raw
cat /dev/ttyUSB0

Setup the webserver:

The server receives gps-corrections from the base-station.

Install rtklib on the webserver:

Now download rtklib and build the library:

git clone
cd RTKLIB/app/str2str/gcc

To start the server-daemon run:

./str2str -in tcpsvr://:5010 -out tcpsvr://:5011

This listens from incomming port 5010 and publicate to port 5011.

Setting up the base station:

base-gpsmodule - laptop(str2str from ubx to rtcm3) - public webserver(str2str rtcm3 to rtcm3)

Install rtklib:

git clone
cd RTKLIB/app/str2str/gcc

./str2str -in serial://ttyUSB0:115200#ubx -out tcpcli://chicago:5010 -c m8n_base_1hz.cmd

This converts ubx format into rtcm3 from local serial base position to the public webserver. (note: the incomming port of the webservers str2str). To initialize the gps-module we use this m8n_base_1hz.cmd.

Test base station

From a laptop run rtkrcv and use the correctionstream from webserver

cd RTKLIB/app/rtkrcv/gcc
chmod +x

use this testBase.conf.

rtkrcv -o testCorrection.conf

interesting parameters are inpstr1-type

rover-gpsmodule - laptop -> internet

thats all