Running RTK client on Linux

Hello guys
We are trying to setup a RTK GPS here, but we are stuck setting up the client in Linux. Hopefully someone can drop a tip?

We are using Drotek’s tiny RTK and the TW2712 Tallysman antenna on the drone. The companion computer is a lattepanda running Ubuntu. We are plugging the GPS into the companion computer instead of the flight controller directly because we are fusing a few positioning signal sources. The processed GPS coordinates are sent to a pixhawk 2.4.8 running AC 3.6.7 as HIL GPS.

The problem is with the ROS NTRIP client that’s used to decode the NTRIP caster correction messages.
We tried viewing the data, but that came out all gibberish. In the txt file attached, you can see we got into the server correctly (first line), but then everything else is messed upserver_data3.txt (18.6 KB)

Using the windows client, we see that the corrections are being sent, and they make sense. Are we missing something?

If someone could give us a pointer, that would be great!


Ok so this is resolved.

We over thought this problem… we didn’t have to decode the correction messages. We sent it straight to the tiny RTK and it started working.

Just to keep this as record so people can avoid the silly mistake here.


A little bit of a noob here. I am trying to do pretty much the same thing using the same ntrip client. However, related to the following lines:

    self.ntrip_server = rospy.get_param('~ntrip_server')
    self.ntrip_user = rospy.get_param('~ntrip_user')
    self.ntrip_pass = rospy.get_param('~ntrip_pass')
    self.ntrip_stream = rospy.get_param('~ntrip_stream')
    self.nmea_gga = rospy.get_param('~nmea_gga')

I am confused regarding how exactly the ntrip_stream ntrip_server nmea_gga parameters should be set in the ROS parameter server; for instance with one of the Perhaps an example (without user password of course) would suffice. Also any pointer is appreciated.


I am also trying to use Drotek’s tiny RTK and set up a NTRIP client on a raspberry pi (has cellular) to inject RTK corrections without the use of a base station. I have been having some trouble finding a NTRIP client software that will run on linux command line. Would you be able to provide more details on how you got your NTRIP client working? Possibly a sample script that you are using? I took a look at the github link that you listed but what NTRIP service are you using as well as how are you telling the NTRIP service where your GPS unit is? I currently have the GPS connected via serial interface on the raspberry pi. Thanks!

Mavproxy does this for you with the ntrip module

Thanks! With the Mavproxy Ntrip Module do you need your own base station or can I connect to a public one through Rpi/cellular?

Using NTRIP requires that you connect to an NTRIP caster. Most here with a local base station would just use direct RTCM as setting up an NTRIP caster is usually unnecessary. Having said that, we do use CasterREP in our base stations so can connect locally using NTRIP. Mavproxy has the ntrip module to connect using NTRIP and the dgps module to forward RTCM. With NTRIP you need a user account and mountpoint. As will all mavproxy modules, you can get help at the command line for each command. You can also specify commands to be run at startup. To start our ntrip connection we use:

–cmd=“module load ntrip;ntrip set caster;ntrip set mountpoint ugv;ntrip set username xxx;ntrip set password xxx;ntrip start”