Geo Survey Tools

Although the Android mobile app can collect a lot of data about the environment around you, it can do with some help from other free and open sourced mobile apps.

  1. Mobile Phone Cell Signals with the Tower Collector Android app.
  2. Geo Position Satellite Signals with the GPS Test Android app.


All data are collected on your phone for your exclusive use only. If you choose to send some of the data out, you can use Dynamic Alias to protect your privacy completely.

Tower Collector

The open sourced Android app called Tower Collector provides comprehensive cell tower data collection to complement our own Android app.

The program supports 2G GSM, 2G CDMA, 3G TD-SCDMA, 4G LTE and 5G NR, but our focus is on 4G LTE and 5G NR.

Note 5G NR can be deployed in 2 ways:

  • 5G SA - standalone
  • 5G NSA - non-standalone (data on 5G but uses 4G LTE for voice etc.)

Sample CSV output:


505,1,8204,134377003,524910,43,98,24,-116,21,-33.903123456789,151.240123456789,16,0,0,44.87,”2021-08-13T23:40:00.213Z”,LTE,false,”samsung SM-G998B”,-116,-12,-83,0,13,,,,,,,,,,,,,,450

Some new LTE data values not available in

  1. MCC - Mobile Country Code
    Mobile country code - Wikipedia

  2. MNC - Mobile Network Code
    Mobile network codes in ITU region 2xx (Europe) - Wikipedia
    Mobile network codes in ITU region 3xx (North America) - Wikipedia
    Mobile network codes in ITU region 4xx (Asia) - Wikipedia
    Mobile network codes in ITU region 5xx (Oceania) - Wikipedia
    Mobile network codes in ITU region 6xx (Africa) - Wikipedia
    Mobile network codes in ITU region 7xx (South America) - Wikipedia

  3. LAC - Location Area Code
    LAC is for 2G and 3G networks, 4G and 5G networks use Tracking Area Code (TAC) which is store in this same field.

  4. CELL_ID - Cell ID
    CELL_ID identified a cell within a network, it is called ECI in 4G network and called NCI in 5G network

  5. SHORT_CELL_ID - Short Cell ID combined with the Base Station ID (e.g. eNB-ID) is used to create the Cell ID above.

  6. RNC - Radio Network Controller

  7. PSC - Primary Scrambling Code associated with a cell

  8. ASU - Arbitrary Strength Unit in integer (different depending on mobile standards e.g. GSM, LTE etc.)

  9. DBM - Decibel-milliwatts absolute power level (using 1 mW as 0 dBm)

  10. TA - Timing Advance is the length of time a signal takes to reach base station

  11. LAT - Latitude

  12. LON - Longitude

  13. ACCURACY - Accuracy of positioning in metres

  14. SPEED - Speed in km/h

  15. BEARING - Direction in degrees

  16. ALTITUDE - Altitude in metres

  17. MEASURED_AT - Time of measurement

  18. NET_TYPE - Network Type (GSM,CDMA,TD-SCDMA,LTE, 5G NR)

  19. NEIGHBORING - whether it is a neighbouring signal

  20. DEVICE - Device Name

  21. RSRP - LTE Reference Signal Received Power (same as UMTS CPICH RSCP)

  22. RSRQ - LTE Reference Signal Received Quality (same as UMTS CPICH EC/IO)

  23. RSSI - Received Signal Strength Indicator relative power level (negative value, the closer to 0 the stronger)

  24. RSSNR - Signal to Noise Ratio

  25. CQI - Channel Quality Indicator

  26. ARFCN - Absolute Radio-Frequency Channel Number

Currently only the following 6 values are used for geo-positioning:


  1. Do not confuse Cell ID (CI) above with Physical Cell Identity (PCI). CI is for management carried by system information block (SIB1) - use for unique identification within network. PCI is for decoding of physical layer data (PSS and SSS) - it is not unique and can be reused across the network.

  2. Each Tracking Area (with unique Tracking Area Identity MCC+MNC+TAC) has a number of base stations, each base station has a number of Cells (with unique Cell Global Identity MCC+MNC+CI).

Cloud Platforms

The app offers upload to two Cloud Platforms:

  1. - DO NOT upload to this one as it is a commercial operation - LOCKS DATA behind access tokens, taking your data and earning money for itself without paying you anything.

  2. Mozilla Location Service - this one does offer truly free download, although the lack of integration with its WiFi database (not released to public) reduces data value.

Private Cyberspace

Instead of uploading the cell tower data you have collected to external services, the idea is to upload them to YOUR OWN Private Cyberspace!

If you are using Tower Collector to collect cell tower data, you can just export your collected data into a CSV or GPX file and import it into your Personal Console!

GPS Test

The open sourced Android app called GPS Test provides comprehensive cell tower data collection to complement our own Android app.

The program supports the following GNSS (including dual frequencies):

  1. BeiDou - China
  2. Galileo - European Union
  3. GLONASS - Russia
  4. GPS - USA
  5. IRNSS - India
  6. QZSS - Japan

The program supports the following SBAS:

  1. BDSBAS - China
  2. EGNOS - European Union
  3. GAGAN - India
  4. MSAS - Japan
  5. SACCSA - many countries - ICAO project
  6. SDCM - Russia
  7. SouthPAN - Australia & New Zealand
  8. WAAS - USA


Turn on "Force full GNSS Measurements

The author of GPS Test is building up a device database:

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.


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)
  3. ZED-F9P module

1.2. Software

  1. Branches · tomojitakasu/RTKLIB · GitHub
  4. GitHub - eringerli/RpiNtripBase
  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.

  2. Une Balise Open Source pour le monitoring des océans | Centipede RTK
  3. informatique:gps:centipede [Cyrille Giquello]
  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

WiFi Fine Time Measurements

The emerging WiFi with Fine Time Measurement (FTM) technology promises high precision indoor positioning.

Our own already has support for WiFi FTM, although the lack of FTM systems in the wild means that the technology still has not taken off, other FTM software includes:

Due to the poor performance of early generation of WiFi FTM being not much better than normal WiFi, Geo Attest collects FTM data in the air but does NOT actively use it in positioning.