Geo Survey Tools

Citizen Satellite Positioning Systems

Citizen Satellite Positioning is not about citizens sending positioning satellite into space (which is already too crowded and we are trying to address that with our Float Mesh). This is about citizens adding positioning base stations on the ground to improve the accuracy of existing satellite based positioning.

In order to get satellite positioning accuracy down to the centimetre level, Real Time Kinematic (RTK) can be used for online operation, while Post Processing Kinematic (PPK) or Precise Point Positioning (PPP) for offline operation.

1. RTK

A typical RTK deployment has a GNSS receiver with RTK capability connected to a mobile phone via bluetooth and with a NTRIP client software downloading correction data over the internet via NTRIP protocol from the most relevant NTRIP caster. Resulting positions with centimetre accuracy are normally marked with words like "RTK-FIXED".

NTRIP is a communication protocol that enables FIXED satellite positioning base stations to work together to provide RTK based corrections to your own MOBILE satellite positioning receiver, thus increasing its accuracy substantially.


Citizens can help increase the accuracy of satellite positioning systems substantially in their local areas by deploying NTRIP servers privately.

The same Nearby Mesh infrastructure (on roof tops etc.) can be used boost the number of NTRIP servers in your community delivering centimetre accurate positioning to its population.

More details at Citizen Satellite Positioning System.

1.1. Hardware

You can build your own NTRIP hardware

  1. GitHub - Stefal/rtkbase: Your own GNSS base station for RTK localization with a Web GUI
  2. How to Build a DIY GNSS Reference Station - SparkFun Learn
  3. GPS-RTK Hookup Guide - SparkFun Learn
  5. GitHub - charlesquick/ntripcaster-containerised: Another containerised ntripcaster!
  6. ESPrtk 5$ for RTK positioning solution with M8P ublox or NS-HP-GL Navspark - Other Hardware - ArduPilot Discourse

The F9P's internal RTK seemed to give good price performance without the hassle of running external RTK software:

  1. (in Japanese)
  2. Comparing a uBlox Zed-F9P GPS with a M8P without external corrections - Blog - ArduPilot Discourse
  3. ZED-F9P module

1.2. Software

  1. Branches · tomojitakasu/RTKLIB · GitHub
  4. GitHub - eringerli/RpiNtripBase
  5. GitHub - fguiet/gnss-rtk: My own RTK network
  6. GitHub - google/gps-measurement-tools
  7. GitHub - rokubun/android_rinex: This repository contains a python script that converts logs from Google's GNSS measurement tools to RINEX

1.3. Centpede

Instead of creating a new project, always prefer to support and grow existing commuity based open sourced projects. Centipède is one of the community projects in the RTK space.

Centipède is a shared network of GNSS RTK bases, managed by research institutes in Charente-Maritime. It aims to provide a free and open RTK correction signal in order to have centimetre precision over a continuous territory.

  4. GitHub - CentipedeRTK/centipede: Centipède: un réseau collaboratif de Bases GNSS RTK low-cost
  5. GitHub - CentipedeRTK/RtkBaseVar: 🛰️ 📡 Broadcasting the RTCM3 correction from the nearest RTK base 📍

1.4. References

  1. International GNSS Service
    Networked Transport of RTCM via Internet Protocol - Wikipedia
  3. Real-time kinematic positioning - Wikipedia
  4. Network Real Time Kinematic (NRTK) Positioning – Description, Architectures and Performances | IntechOpen
  5. RINEX - Wikipedia

1.4. Future

The development of State Space Representation (SSR) means devices using virtual base stations can share one stream, instead needing a dedicated stream for each device.

2. PPP

Precise Point Positioning (PPP) uses satellites signals directly, without the need of any correction (unlike RTK). It is a great solution when there is no RTK coverage.

3. Government NTRIP

Many government provides free NTRIP Castors, citizen deployed NTRIP Servers and Castors can help plug gaps in the government infrastructure.

3.1. Australia

3.2. Canada