RTK base station · Tbilisi

Centimetre-accurate GPS for your drone

Our base station near Tbilisi sends GPS corrections over the internet. Point your ground station app at it and your drone’s position goes from a few metres of error to a few centimetres.

Checking the base station…

If this doesn’t update, open the live dashboard.

How it works

1. Base stationA fixed GPS receiver at a known spot measures how far off the satellites are right now.
2. InternetIt sends those corrections to our server at ntrip.pavlokostiuk.cloud.
3. Your ground stationYour app downloads them and passes them to the drone over its telemetry link.

Before you start

You need all of these. If one is missing, the steps below won’t get you to RTK.

Connect

Pick the app you use. You only do this once per ground station; the settings are saved.

Aircast QGC (or QGroundControl 5)

  1. Open Settings (the gear, top right) → NTRIP / RTK.
    Aircast QGC Settings with the NTRIP / RTK page open and empty server fields
    The NTRIP / RTK page before you fill it in.
  2. Under Server, enter:
    Host addressntrip.pavlokostiuk.cloud
    Server port2101
    Username / PasswordYour drone login
    Use TLS encryptionOff
  3. Under Mountpoint, click Browse and pick GS10. Or type GS10.
    NTRIP / RTK page with the server filled in and the GS10 mountpoint selected from the Browse list
    Browse lists what the server offers. GS10 is our base station.
  4. Click Connect. The dot turns green and the message counter starts going up.
    NTRIP / RTK page showing Connected to mountpoint GS10 with message counts, data received and bytes sent to the vehicle
    Connected. “To Vehicle” is what reached your drone.

    “Authentication failed (401)”: the username or password is wrong. Check it with Pavlo.

    “HTTP 404: Not Found”: the base station is offline. Check the status box at the top of this page.

    Orange “Credentials are being sent without TLS”: expected. You can ignore it.

Mission Planner

  1. Connect to the drone over telemetry.
  2. Go to Setup → Optional Hardware → RTK/GPS Inject.
  3. Choose NTRIP as the source and paste this, putting your username and password in:
    http://USERNAME:PASSWORD@ntrip.pavlokostiuk.cloud:2101/GS10
  4. Click Connect. The RTCM message counters should start going up.

    “401 Unauthorized”: the username or password is wrong.

    Connects but nothing counts: the base station is offline. Check the status box at the top.

Companion computer (MAVProxy)
module load ntrip
ntrip set caster ntrip.pavlokostiuk.cloud
ntrip set port 2101
ntrip set mountpoint GS10
ntrip set username USERNAME
ntrip set password PASSWORD
ntrip start

Did it work?

You’re done when the drone’s GPS shows RTK Fixed.

In QGC, tap the satellite icon in the top bar: GPS Lock reads 3D RTK GPS Lock (fixed). In Mission Planner, the GPS status on the flight display reads RTK Fixed.

On the way there you’ll usually see RTK Float first. That means corrections are arriving and the GPS is still working out the exact position. With open sky it normally moves on to Fixed by itself; just wait.

If something goes wrong

What you seeWhat to do
401, “Authentication failed”Wrong username or password. Check it with Pavlo.
404, “Not Found”, or nothing countingThe base station is offline. See the status box at the top; nothing to fix on your side.
“No data received for … seconds”The base stopped sending. The app reconnects by itself when it’s back.
Messages count up, but the GPS never leaves “3D Lock”The GPS isn’t RTK-capable, or the telemetry link to the drone dropped.
Stuck at RTK FloatMove to open sky and check you’re within about 20 km of Tbilisi.

Words used here

RTK
Real-Time Kinematic. A way of correcting GPS with a nearby base station, down to centimetres.
Base station
A GPS receiver that stays still at a known position and measures the error. Ours is a Leica GS10.
Corrections (RTCM)
The data the base sends. RTCM is the standard format GPS modules understand.
NTRIP
The standard way of sending corrections over the internet.
Mountpoint
The name of one correction stream on the server. Ours is GS10.
Float / Fixed
Float: corrections are arriving, decimetre-level. Fixed: centimetre-level, the goal.