Ultra low cost RTK-GPS

If you do not want to spend roughly 150 € for an U-Blox M8 receiver and a good Tallysman antenna you may start your experiments by using a Globalsat BU-353-S4 USB GPS Receiver which is available at Amazon for roughly 35 € (Link). Thanks to the magnet on the bottom, this device can easily be mounted on the roof of the car or on a baking tray to suppress multipath effects.

In order to gain access to carrier phase data which is essential for the realtime kinematics technique, the receiver has to be switched to one socket protocol mode, which can be done by feeding a script to the RTKLIB stream server. However, for reasons unknown to me, the sirf receiver protocol is no longer included in the current RTKLIB source, so you have to get a copy of Mr. Alexey Illarionov github repository (Link) and compile the stream server of the sirf branch by yourself.

Afterwards launch the stream server by using the following command:
./str2str -c sirf_raw_1hz.cmd -in serial://ttyUSB0:57600:8:n:1:off#sirf -out tcpsvr://:5001#rtcm3
Now you can connect RTKNAVI to the RTCM3-Stream provided at localhost:5001

Content of sirf_raw_1hz.cmd:
; Switch to SiRF 57600
$PSRF100,0,57600,8,1,0*37
!WAIT 100

; Enable navlib
!HEX a0a20019 80 00000000 00000000 00000000 00000000 00000000 0000 0c 10 009cb0b3
!WAIT 100

; Poll version,clock, ephemeris
!HEX a0a20002 8400 0084b0b3
!WAIT 100
!HEX a0a20002 9000 0090b0b3
!WAIT 100
!HEX a0a20002 9000 0092b0b3
!WAIT 100
!HEX a0a20003 930000 0093b0b3

@
; Switch to NMEA 57600
!HEX a0a20018 81020101000101010501010100010001000100010001e100 0176b0b3

Firmware
Verified with GSD4e_4.1.2-P1 R+ 11/15/2011, anything later or equal to GSD4e_4.0.4-P1 08/13/2010 should work also. The GSD4e chipset is affected by the GPS week rollover issue, which leads to performance degradation. Therefore the following firmware upgrade is highly recommended: https://support.maestro-wireless.com/portal/kb/articles/2019-gps-week-number-rollover-update-customer-notification