> For the complete documentation index, see [llms.txt](https://docs.rtkdata.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rtkdata.com/integration-hub/gnss-rovers-and-receivers/stonex-s80g-s60g-s55g-s90g.md).

# Stonex S80G, S60G, S55G & S90G RTK Setup: NTRIP in Cube-a

Connect the Stonex S80G, S60G, S55G and S90G RTK controllers to RTKdata NTRIP in Cube-a: pick the UM980 device type, Phone Network, port 2101, AUTO and GGA.

To set up NTRIP on the **Stonex S80G**, **S60G**, **S55G** or **S90G** with RTKdata, open **Stonex Cube-a** on the controller, go to **Device** > **Communication** and under **Device Type:** select the UM980 entry for your controller, for example **Stonex S80 - UM980 GNSS Accessory (RAW-RTK)** on the S80G, then tap **Connect**. Open **Device** > **Working Mode** > **Rover**, set **Communication Mode:** to **Phone Network** and, on **Send diff. from controller**, choose **NTRIP**, enter your region's RTKdata host in **IP:** (for example `eu.rtkdata.com`), `2101` in **Port:** and your RTK credentials, load the mountpoint list and select `AUTO`. Set **Send GGA delay \[sec]:** to `1`, then tap **Start**, **OK** and **Apply**. The internet comes from the controller.

The Cube-a steps follow the Stonex Cube-a 7.0 User Manual. The device type names and the labels **Mountpoint:** and **Get mountpoint list** are those of **Stonex Cube-a v7** 7.2.05, released on Google Play on 31 July 2026 and the current version when this page was written. Labels can differ in other versions.

These are the values you enter in Cube-a, and the field names in bold match the app. Choose the server closest to your work area. All three servers share the same base station network; the difference is routing latency, see [NTRIP Server Settings](/get-started/network.md).

| Field                                                              | Value                                                                                                                                                    |
| ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Device Type:** (**Device** > **Communication**)                  | The UM980 entry of your controller, see [the model table](#what-do-the-s80g-s60g-s55g-and-s90g-need-for-rtk-module-app-and-internet)                     |
| **Communication Mode:** (**Rover mode settings** > **Datalink**)   | **Phone Network**                                                                                                                                        |
| **Connect Mode:**                                                  | **NTRIP**                                                                                                                                                |
| **Name:** (**CORS Settings**)                                      | Your own entry, for example `RTKdata`                                                                                                                    |
| **IP:** (North America)                                            | `rtk.rtkdata.com`, IP fallback `13.56.117.10`                                                                                                            |
| **IP:** (Europe)                                                   | `eu.rtkdata.com`, IP fallback `3.73.41.96`                                                                                                               |
| **IP:** (Australia)                                                | `aus.rtkdata.com`, IP fallback `54.206.56.130`                                                                                                           |
| **Port:**                                                          | `2101`                                                                                                                                                   |
| **User:** (**CORS Account**)                                       | From *RTK Credentials* in your [account dashboard](https://rtkdata.com/my-account/rtk-credentials/). It starts with `rtk` and is not your website login. |
| **Password** (**CORS Account**)                                    | From *RTK Credentials*, not your website password                                                                                                        |
| **MountPoint:** (Cube-a 7.2.05: **Mountpoint:**) > **Corrections** | `AUTO` from the list after **GET ACCESS POINT** (Cube-a 7.2.05: **Get mountpoint list**), or `AUTO_ITRF2020`, `AUTO_ITRF2014`, `AUTO_WGS84`              |
| **Automatically connect to network:**                              | On                                                                                                                                                       |
| **Send GGA delay \[sec]:**                                         | `1` (never `0`)                                                                                                                                          |

* The field is called **IP:**, but enter the hostname first. Use the IP fallback for your region only if Cube-a does not accept the hostname or does not connect with it.
* Enter only the host in **IP:**, without `http://` and without `:2101`. The port has its own field.
* Mountpoint names are case sensitive. Select `AUTO` in capitals from the list, exactly as shown.
* One set of credentials allows one connection at a time. A second controller or rover running at the same time needs its own data stream, see [Account & Credentials](/get-started/account-and-credentials.md#using-one-subscription-with-several-devices).

## Requirements

* **Stonex S80G**, **S60G** with the GNSS module mounted, **S55G** or **S90G**
* **Stonex Cube-a v7** with a license that includes the GPS module, registered on this controller (for the S60G and S90G: Cube-a 7.2.05 or later)
* **Internet on the controller** for **Phone Network**: on the S80G, S60G and S55G a Nano-SIM with mobile data, or a Wi-Fi network or phone hotspot
* **RTKdata account** with active RTK credentials (username starts with `rtk`)
* **RTKdata coverage** at your site: check the [coverage map](/get-started/coverage-map.md)
* **Open sky** for the first fix
* **For GIS apps** such as QField, ArcGIS Field Maps or SW Maps: access to the Android developer options for the mock location setting

{% hint style="info" %}
Don't have an RTKdata.com account yet? 👉 [Start 30-day Free Trial](https://rtkdata.com/try-rtk-corrections-free-for-30-days/) or [View Pricing](https://rtkdata.com/pricing/)
{% endhint %}

## Which Stonex guide fits your receiver?

This guide covers the Stonex S80G, S60G, S55G and S90G; other Stonex receivers and scanners have their own RTKdata guides, because their apps and internet options differ.

| Stonex device          | RTKdata guide                                                                                        | Where you set up NTRIP                                                                   |
| ---------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| S80G, S60G, S55G, S90G | This page                                                                                            | Android controllers with RTK GNSS: Cube-a on the controller, Phone Network               |
| S999, S880             | [Stonex S999 / S880](/integration-hub/gnss-rovers-and-receivers/stonex-s999-s880.md)                 | Cube-a 7 or the receiver Web UI                                                          |
| S1000, S950            | [Stonex S1000 / S950](/integration-hub/gnss-rovers-and-receivers/stonex-s1000-s950.md)               | Cube-a, the S950 also in its Web UI                                                      |
| S599, S590             | [Stonex S599 / S590](/integration-hub/gnss-rovers-and-receivers/stonex-s599-s590.md)                 | Cube-a, the S599 also in its Web UI; no modem, internet from the controller or a hotspot |
| S980A, S900A           | [Stonex S980A / S900A](/integration-hub/gnss-rovers-and-receivers/stonex-s980a-s900a.md)             | Cube-a or the receiver Web UI                                                            |
| X200GO, X120GO         | [Stonex X200GO / X120GO](/integration-hub/lidar-scanners-and-mobile-mapping/stonex-x200go-x120go.md) | SLAM laser scanners, set up in GOapp                                                     |

## What do the S80G, S60G, S55G and S90G need for RTK: module, app and internet?

The S80G, S60G, S55G and S90G need three things for RTK with RTKdata: the RTK GNSS module or board of the controller, a licensed Stonex Cube-a v7 on that controller, and internet on the controller. In Cube-a each model has its own UM980 device type.

| Model | What it is                                                                                              | Cube-a **Device Type:**                                                   | Notes                                                                                                                                     |
| ----- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| S80G  | S80 tablet with the GNSS RTK module included (S80G brochure: standard accessory)                        | **Stonex S80 - UM980 GNSS Accessory (RAW-RTK)**                           | Antenna profiles **SA15 (S80G - ON POLE)** and **SA15 (S80G - ON TABLET)**                                                                |
| S60G  | Two items: the S60 tablet and the *S60, Add-on GNSS Module*, which you mount yourself                   | **Stonex S60 - UM980 GNSS Accessory (RAW-RTK)**                           | Cube-a 7.2.05 or later                                                                                                                    |
| S55G  | Controller equipped with a triple-frequency GNSS board (Stonex catalog)                                 | **Stonex S55 - UM980 GNSS Accessory (RAW-RTK)**                           | Antenna profiles **HX-CHX602A (S55G - ON POLE)**, **HX-CHX602A (S55G - ON TABLET)**, and **SA85** for the optional SA85 antenna on a pole |
| S90G  | Controller with integrated RTK GNSS, listed in the printed Stonex Surveying Products Catalog 2026       | **Stonex S90 - UM980 GNSS Accessory (RAW-RTK)**                           | Cube-a 7.2.05 or later                                                                                                                    |
| S80   | Tablet. The S80 brochure lists the GNSS RTK module as an optional accessory; without it there is no RTK | With the GNSS RTK module: **Stonex S80 - UM980 GNSS Accessory (RAW-RTK)** | A long-range Bluetooth module is not an RTK module                                                                                        |
| S90   | Controller. The Stonex catalog lists the RTK module as optional; without it there is no RTK             | With the RTK module: **Stonex S90 - UM980 GNSS Accessory (RAW-RTK)**      | Cube-a 7.2.05 or later. A long-range Bluetooth module is not an RTK module                                                                |

There is no Cube-a entry with S80G, S60G, S55G or S90G in its name: the entries carry the model number without the G. Do not select **Internal GPS** or an entry that ends in **Internal GPS (RAW)**, such as **Stonex S80 - Internal GPS (RAW)**. It uses the controller's own positioning, which never reaches **FLOAT** or **FIXED**.

**Which app?** This page uses Stonex Cube-a v7, which is a separate license: on the S60G it is an option, Cube-a GPS v7.x, optionally with Cube-a GIS v7.x, S80G kits are sold with or without it, and the S55G and S80G brochures do not list Cube-a among the standard accessories. The **Device** steps on this page belong to the Cube-a GPS module, and a GIS license alone is not enough: Stonex states that "to enable the GIS module, the GPS module must be enabled as well". Cube-a cannot be unlocked without its license code, and the code is bound to the Android device it was registered on; another controller needs its own license. **Activation info** shows, according to the Cube-a manual, "its own Cube-a license and the active modules (GPS/TS/GIS/3D)". If only Cube-connector is installed, see [What if only Cube-connector is installed?](#what-if-only-cube-connector-is-installed).

**Where does internet come from?** Corrections come through the controller, and in Cube-a this datalink is **Phone Network**. On the S80G, S60G and S55G, insert a Nano-SIM with mobile data, or connect the controller to Wi-Fi or a phone hotspot. According to the Cube-a manual, Phone Network works with "a SIM card with internet connection available inside the controller connected to GNSS" or with the controller connected to a hotspot.

{% hint style="warning" %}
Do not choose **Internal Network** as the datalink. In Cube-a it expects a SIM card with internet inside the GNSS receiver. On the S80G, S60G, S55G and S90G, corrections come through the controller, so choose **Phone Network**.
{% endhint %}

The S80G, S60G and S55G have no receiver web interface and no tilt compensation. Cube-a shows a pole tilt angle only "if connected to a receiver equipped with IMU technology". Every setting on this page is made in Cube-a on the controller.

### Mount the module on the S60G

Stonex describes these steps for the S60G. The module box contains the RTK GNSS module, a GNSS antenna, a screwdriver and two screws.

1. Switch the tablet off. Stonex: "Always install/remove with device powered off".
2. Align the back clip with the tablet mounting points and press until it snaps into place.
3. Tighten the two screws clockwise.
4. Align the connector and antenna interface of the module, insert it carefully onto the back clip and rotate it clockwise until it locks in place.
5. Check that the module is locked and firmly attached. Stonex: "Do not overtighten the antenna/module".

## How do you set up NTRIP on the Stonex S80G, S60G, S55G or S90G in Cube-a?

In Cube-a, select the UM980 device type of your controller under **Device** > **Communication** and tap **Connect**, open **Device** > **Working Mode** > **Rover**, set **Communication Mode:** to **Phone Network**, enter the RTKdata values on **Send diff. from controller**, select `AUTO`, tap **Start** and **OK**, and finish with **Apply**. Make sure the controller has internet before you start.

{% stepper %}
{% step %}

### Connect the GNSS module

1. In Cube-a, tap **Device** in the bottom bar, then **Communication**. The **Communication Settings** page opens.
2. Under **Device Type:**, select the UM980 entry of your controller from the model table, for example **Stonex S80 - UM980 GNSS Accessory (RAW-RTK)** on the S80G, and tap **Connect**.
3. The status bar at the top now shows a solution type instead of **NO FIX** once the module tracks satellites.

{% hint style="warning" %}
Do not select **Internal GPS** or an entry that ends in **Internal GPS (RAW)**, such as **Stonex S80 - Internal GPS (RAW)**. According to the Cube-a manual, Internal GPS uses "the GPS inside the controller", here the controller's own positioning. The values look plausible but never reach **FLOAT** or **FIXED**.
{% endhint %}

If Cube-a shows **Error: connection to the external RTK accessory has failed.**, see [Troubleshooting](#troubleshooting).
{% endstep %}

{% step %}

### Choose Phone Network in the rover settings

1. Tap **Device** > **Working Mode** > **Rover**. The **Rover mode settings** page opens.
2. Under **Datalink**, set **Communication Mode:** to **Phone Network**.
3. Tap the **Phone Network** bar below it. The **Send diff. from controller** page opens.
   {% endstep %}

{% step %}

### Enter your RTKdata connection settings

1. Set **Connect Mode:** to **NTRIP**, not **TCP Client**.
2. Under **CORS Settings**, create your own entry for RTKdata with the three-dot icon, or fill in the fields directly. Do not reuse a stored entry of another correction service from the **Name:** list.
3. Enter the host in **IP:** and the port in **Port:**. Under **CORS Account**, enter the username in **User:** and the password in **Password**, and use **Show password** to check them.

Select the tab for your region:

{% tabs %}
{% tab title="North America" %}

* **Host (domain):** `rtk.rtkdata.com`
* **Host (IP fallback):** `13.56.117.10`, only if Cube-a does not accept or connect with the hostname
* **Port:** `2101`
* **Username / Password:** From *RTK Credentials* in your [account dashboard](https://rtkdata.com/my-account/rtk-credentials/), not your website login
* **Mountpoint (ALL CAPS):** `AUTO` (recommended), or `AUTO_WGS84`, `AUTO_ITRF2020`, `AUTO_ITRF2014`, selected from the list in the next step
  {% endtab %}

{% tab title="Europe" %}

* **Host (domain):** `eu.rtkdata.com`
* **Host (IP fallback):** `3.73.41.96`, only if Cube-a does not accept or connect with the hostname
* **Port:** `2101`
* **Username / Password:** From *RTK Credentials* in your [account dashboard](https://rtkdata.com/my-account/rtk-credentials/), not your website login
* **Mountpoint (ALL CAPS):** `AUTO` (recommended), or `AUTO_WGS84`, `AUTO_ITRF2020`, `AUTO_ITRF2014`, selected from the list in the next step
  {% endtab %}

{% tab title="Australia" %}

* **Host (domain):** `aus.rtkdata.com`
* **Host (IP fallback):** `54.206.56.130`, only if Cube-a does not accept or connect with the hostname
* **Port:** `2101`
* **Username / Password:** From *RTK Credentials* in your [account dashboard](https://rtkdata.com/my-account/rtk-credentials/), not your website login
* **Mountpoint (ALL CAPS):** `AUTO` (recommended), or `AUTO_WGS84`, `AUTO_ITRF2020`, `AUTO_ITRF2014`, selected from the list in the next step
  {% endtab %}
  {% endtabs %}

{% hint style="info" %}
If **Notify when base coordinates change:** is on, Cube-a can show a warning when the base coordinates change. With `AUTO` this is expected after the caster switches to a closer station while you move, and it is not an error.
{% endhint %}
{% endstep %}

{% step %}

### Select AUTO and set the GGA interval

1. Under **MountPoint:**, tap **GET ACCESS POINT** (in Cube-a 7.2.05 the field reads **Mountpoint:** and the button **Get mountpoint list**, on the device possibly in capitals). Cube-a downloads the mountpoint list from the RTKdata server.
2. Open the **Corrections** list and select `AUTO`. The list can show more entries than `AUTO`: select `AUTO`, or one of `AUTO_ITRF2020`, `AUTO_ITRF2014` and `AUTO_WGS84` if your project needs a global frame.
3. Switch on **Automatically connect to network:**. The connection then starts or restarts on its own.
4. Set **Send GGA delay \[sec]:** to `1`. This is the interval at which Cube-a sends your position to the caster; do not set it to `0`.
5. Leave **Record diff. corrections** and **Fake GGA coordinates** off, and leave **Forced GGA latitude (dd.mmss)** and **Forced GGA longitude (dd.mmss)** empty, if your Cube-a version shows them.

{% hint style="info" %}
**AUTO needs your position.** The `AUTO` mountpoint chooses the base station from the position Cube-a sends to the caster (NMEA GGA). Cube-a sends it at the **Send GGA delay \[sec]:** interval, and there is no separate GGA switch on this page. Before you tap **Start**, wait outside with open sky until the module has a position of its own, at least **SINGLE**. Leave **Fake GGA coordinates** off and the forced GGA latitude and longitude fields empty (the Cube-a manual calls them Forced GGA): the manual marks them "only for test", and a false position makes `AUTO` choose the wrong base station. See [NTRIP & GGA Essentials](/integration-hub/ntrip-clients-and-field-software/ntrip-and-gga-essentials.md).
{% endhint %}
{% endstep %}

{% step %}

### Start, OK and Apply

1. Tap **Start**. The **Receive:** bar fills as correction data arrives.
2. Tap **OK** to return to **Rover mode settings**.
3. Under **Antenna Parameters** (Cube-a 7.2.05: **Antenna parameters**), enter **Measured Height:** and choose the **Measurement Type:**, for example **Vertical height**. Cube-a calculates **Antenna Height:** itself. Under **Ext. antenna type:**, choose the profile that matches how the antenna is mounted, if Cube-a lists one for your model, for example **SA15 (S80G - ON POLE)** or **HX-CHX602A (S55G - ON TABLET)**. Enter the antenna height in one place only, not again in a GIS app.
4. Tap **Apply** to start the rover mode.
5. Optional: tap **Save to Configurations** to reuse the setup later.

If you only tap **OK** and skip **Start** or **Apply**, the settings are stored but no NTRIP session runs, and the solution stays **SINGLE**.
{% endstep %}
{% endstepper %}

## What if only Cube-connector is installed?

This page does not describe the Stonex Cube-connector screens. Cube-connector is part of the S60G standard configuration, US dealers list it in the S80G contents, and a French dealer lists it in the S55G box; it can make the corrected position available to other Android apps. If you set up RTKdata there, use the same values as in Cube-a: the host for your region, port `2101`, your RTK credentials, `AUTO` and a GGA interval of 1 second. The Stonex S60G brochure shows the Cube-connector main menu with **Communication**, **Working Mode**, **Datalink Settings**, **Datalink Status**, **GNSS Status** and **Mock Locations Options**. Use one app at a time for the RTK module, either Cube-a or Cube-connector.

## How do you send the RTK position to QField, Field Maps or SW Maps?

Let Cube-a hand the RTK position to Android as a mock location: turn on mock locations in Cube-a, set Cube-a as the mock location app in the Android developer options, keep Cube-a running with the NTRIP connection, and use the device's internal position in QField, ArcGIS Field Maps or SW Maps. RTKdata is set up in Cube-a, not in the GIS app.

1. Set up the NTRIP connection in Cube-a as described above and wait for **FIXED**.
2. **Configure** > **System Settings** > **More settings**: turn on mock locations. Cube-a 7.2.05 labels the switch **Enable (app. restart required)**; restart Cube-a afterwards.
3. If Cube-a shows **Locations Target App**, select the app you work with, for example **QField (for QGIS, by OPENGIS)**, **Field Maps (by ESRI)** or **SW Maps (by SOFTWEL)**, instead of **Generic**.
4. Turn on the Android developer options by tapping **Build number** seven times (where it sits depends on the device maker), then set **Select mock location app** to Cube-a. Android allows only one mock location app at a time.
5. Allow Cube-a to run in the background and turn off battery optimization for it. If Android stops the app, the position stream to the GIS app stops.
6. In the GIS app, use the device's internal position as the location source, not an external receiver.

If you work with Cube-connector instead, it takes over this role; do not let Cube-a and Cube-connector both provide the mock location.

For the general mock location setup and the QField side, see [QField](/integration-hub/ntrip-clients-and-field-software/qfield.md).

{% hint style="info" %}
**Zero satellites in the GIS app is normal.** A mock location passes on the position, not the satellite data, so QField, Field Maps or SW Maps can show 0 satellites or no visible satellites while the position arrives with RTK accuracy. Check the fix and the correction age in Cube-a, not in the GIS app.
{% endhint %}

## How do you know corrections are really arriving?

RTKdata corrections are really arriving when Cube-a shows **FIXED** (or **FLOAT** while the solution resolves) and the correction age stays low: according to the Cube-a manual, "generally the delay is less than 5 seconds". Check the correction age as well as the word **FIXED**.

Tap the solution in the Cube-a status bar, or open **Device** > **GNSS Status**. The solution can be:

| Solution   | Meaning                                                                                   | What to do                                                                              |
| ---------- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| **NO FIX** | No position: the module is not connected, or it sees no satellites                        | Check **Device** > **Communication** and move to open sky                               |
| **SINGLE** | No differential corrections in use                                                        | Check internet on the controller, credentials, `AUTO`, **Start** and **Apply**          |
| **DGNSS**  | Differential corrections from SBAS satellites or from the base, without a better solution | Not proof of NTRIP on its own, because it can come from SBAS. Check the correction age. |
| **FLOAT**  | Corrections arrive, the RTK solution is not resolved yet                                  | Stay under open sky and wait                                                            |
| **FIXED**  | RTK fix                                                                                   | Check that the correction age stays low                                                 |

* **Differential correction age** in **GNSS Status** is the delay of the corrections in seconds. The status bar shows it too.
* **Datalink Status** shows the details of the active datalink.
* On the **Send diff. from controller** page, the **Receive:** bar shows data flowing.

{% hint style="warning" %}
**FIXED can stay on screen after the internet drops.** In a user video with an S80G on a phone hotspot, **FIXED** stayed on screen for several seconds after the internet connection was switched off, while the correction age kept rising, and only then changed to **SINGLE**. Watch the correction age, especially when the controller works on a hotspot.
{% endhint %}

RTKdata streams RTCM 3.2 with MSM4 messages (1074, 1084, 1094, 1114, 1124, 1134) and station message 1005. Cube-a shows the differential format as AUTO, because, as the manual explains, "the decoding is made by GNSS receiver". Cube-a lists the RTK module of these controllers as a UM980 GNSS accessory, and Unicore gives RTCM V3.X as the differential data input of the UM980.

## Which coordinate system should you use with AUTO?

Keep the RTKdata mountpoint `AUTO` and set the Cube-a project to a coordinate system based on the datum that `AUTO` delivers for your region, for example NAD83(2011) in the USA or ETRS89 in Europe; RTKdata heights arrive as ellipsoidal heights.

`AUTO` delivers corrections in the regional datum of your position, for example:

* NAD83(2011), epoch 2010.0, in the USA
* NAD83(CSRS)v7, epoch 2010.0, in Canada
* ETRS89, realization ETRF2000, epoch 2010.0, in Europe
* GDA2020, epoch 2020.0, in Australia
* WGS84(G2139) in the middle of the current year for regions that are not listed

`AUTO_ITRF2020` and `AUTO_ITRF2014` deliver ITRF2020 and ITRF2014 at the current epoch, and `AUTO_WGS84` delivers WGS84(G2139) in the middle of the current year. The datum for every region is listed in [Coordinate Systems & Datums](/get-started/coordinate-systems-and-datums.md).

### Coordinate system and heights with AUTO in Cube-a

1. When you create the project, select the coordinate system with **List** from the predefined systems, or change it later under **Configure** > **Coordinate System**. Choose a system in the same datum that your mountpoint delivers.
2. In the **Coordinate system parameters type** drop-down, do not choose **RTCM1021-1027**. The Cube-a manual offers these messages "if the CORS you use sends them out", and RTKdata sends 1005 and MSM4, not 1021 to 1027.
3. Do not also enable **ITRF Conversion**. `AUTO` already delivers your regional datum, and the manual notes that this conversion "is applied to all points in the current project".
4. RTKdata delivers ellipsoidal heights. For orthometric heights, enable a geoid under **Configure** > **Coordinate System** > **Geoid files**. See [Understanding Heights](/get-started/understanding-heights.md).

While you move, `AUTO` can switch to a closer station (see [NTRIP Server Settings](/get-started/network.md)). If **Notify when base coordinates change:** is on, Cube-a can then show a warning. This is expected and not a fault.

{% hint style="warning" %}
**Check the datum on your first project.** A consistent offset of 50 cm to 1 m against local survey control usually means a datum mismatch, not an accuracy problem, see [Why Your Coordinates May Be Offset](/get-started/coordinate-systems-and-datums.md#why-your-coordinates-may-be-offset).
{% endhint %}

### In GIS apps

* **Geoid:** apply the geoid either in the Cube-a project or in the GIS app, in one place only.
* **ArcGIS Field Maps:** Esri states that "the default profile assumes that provided locations are in the WGS 1984 coordinate system". With `AUTO` the position arrives in your regional datum, so set up a location profile that matches it, or choose a global mountpoint on purpose. Field Maps treats the altitude as height above the ellipsoid (HAE).
* **Other GIS apps:** set the project or layer system to the datum of your mountpoint before you collect data.

## Troubleshooting

| Problem                                                                           | Cause                                                                                                                                                          | Fix                                                                                                                                                                                                         |
| --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Cube-a cannot be unlocked                                                         | No Cube-a license code registered on this controller                                                                                                           | Register a Cube-a license with the GPS module on this controller. With Cube-connector only, see [What if only Cube-connector is installed?](#what-if-only-cube-connector-is-installed)                      |
| Cube-a shows **GPS software module is not enabled**                               | The Cube-a license on this controller does not include the GPS module                                                                                          | Check **Activation info** and ask your Stonex dealer for the GPS module license                                                                                                                             |
| No UM980 entry for your controller under **Device Type:**                         | Older Cube-a version; the S60 and S90 entries are in Cube-a 7.2.05 or later                                                                                    | Update Stonex Cube-a v7, then look for the UM980 entry with your model number without the G                                                                                                                 |
| **Error: connection to the external RTK accessory has failed.** after **Connect** | The RTK module is not seated or not detected                                                                                                                   | Switch the controller off, check that the module is locked in place (S60G: see the mounting steps), switch it on and tap **Connect** again                                                                  |
| Google Play does not offer Stonex Cube-a v7 on the controller                     | The Google Play version may not support the Android version of the controller                                                                                  | Ask your Stonex dealer for the Cube-a v7 installation file; the Cube-a manual describes installation from an APK file                                                                                       |
| Mountpoint button not found                                                       | Cube-a 7.2.05 labels it **Get mountpoint list**, the Cube-a 7.0 manual **GET ACCESS POINT**                                                                    | Tap the button next to **Mountpoint:**, then select `AUTO` under **Corrections**                                                                                                                            |
| Solution never goes beyond **SINGLE** after loading the mountpoint list           | An entry other than `AUTO` was selected in **Corrections**                                                                                                     | Select `AUTO` (or `AUTO_ITRF2020`, `AUTO_ITRF2014`, `AUTO_WGS84`), then **Start**, **OK** and **Apply**                                                                                                     |
| Connected, but no corrections or corrections from a distant station               | **Send GGA delay \[sec]:** set to `0`, **Fake GGA coordinates** switched on, or a forced GGA position entered                                                  | Set **Send GGA delay \[sec]:** to `1`, switch off **Fake GGA coordinates** and clear **Forced GGA latitude (dd.mmss)** and **Forced GGA longitude (dd.mmss)**                                               |
| Menu items from an older Stonex guide are missing                                 | Guides written for older Cube-a versions use other menu names                                                                                                  | Follow the Cube-a 7 path on this page: **Device** > **Communication**, then **Device** > **Working Mode** > **Rover**                                                                                       |
| Settings saved, but the solution stays **SINGLE**                                 | Only **OK** tapped, without **Start** on **Send diff. from controller** or **Apply** in **Rover mode settings**                                                | Tap **Start** (the **Receive:** bar fills), then **OK**, then **Apply**                                                                                                                                     |
| Position with meter-level accuracy, never **FLOAT** or **FIXED**                  | **Internal GPS**, or an entry ending in **Internal GPS (RAW)**, selected as **Device Type:**, or an app reads the controller's own position                    | Select the UM980 entry of your controller under **Device** > **Communication**, and use mock location for other apps                                                                                        |
| No connection with **Internal Network**                                           | **Internal Network** expects a SIM with internet inside the GNSS receiver                                                                                      | Choose **Phone Network**; the internet comes from the controller                                                                                                                                            |
| No connection or login rejected after **Start**                                   | Website login instead of RTK credentials, a stored entry of another correction service, or outbound TCP port 2101 blocked by the Wi-Fi network, VPN or carrier | Check **User:** and **Password** with **Show password** against *RTK Credentials*, use your own CORS entry, and try another network; see [NTRIP Server Settings](/get-started/network.md)                   |
| No connection with the hostname in **IP:**                                        | Cube-a does not accept or resolve the hostname in this field                                                                                                   | Enter the IP fallback for your region (`13.56.117.10`, `3.73.41.96` or `54.206.56.130`) and keep port, credentials and mountpoint                                                                           |
| **FIXED** shown, but the correction age keeps rising                              | Mobile data or hotspot dropped; the status has not changed yet                                                                                                 | Trust the correction age, not only the word **FIXED**. Check the controller's internet.                                                                                                                     |
| GIS app shows the controller's meter-level position                               | Cube-a is not set as the mock location app, or mock locations are not switched on in Cube-a                                                                    | Set **Select mock location app** to Cube-a in the developer options, switch on **Enable (app. restart required)** under **More settings** and restart Cube-a, then use the internal position in the GIS app |
| GIS app shows 0 satellites                                                        | Normal with mock location, which passes on no satellite data                                                                                                   | Check the fix and correction age in Cube-a                                                                                                                                                                  |
| Fix status or accuracy does not show in the GIS app                               | **Locations Target App** left on **Generic**                                                                                                                   | Select the app you actually use under **Locations Target App**. Check the fix and correction age in Cube-a.                                                                                                 |
| Position stream to the GIS app stops after a while                                | Android battery optimization stops Cube-a in the background                                                                                                    | Allow background activity for Cube-a and turn off battery optimization for it                                                                                                                               |
| Heights off by a constant amount                                                  | Antenna settings do not match the mounting, or the antenna height is entered twice                                                                             | Match **Ext. antenna type:** to how the antenna is mounted, if Cube-a lists a profile for your model, and enter the height in one place only                                                                |
| Labels on the controller differ from this page                                    | Another Android system language, or another Cube-a version                                                                                                     | In Cube-a, force the language under **Configure** > **System Settings** > **More settings**                                                                                                                 |
| Field Maps positions do not line up with the basemap                              | The default location profile assumes WGS 1984, `AUTO` delivers the regional datum                                                                              | Create a location profile for the datum of your mountpoint, or choose a global mountpoint on purpose                                                                                                        |
| S60G module mounted with the tablet on, or not locked in place                    | Mounting steps not followed. Stonex: "Always install/remove with device powered off"                                                                           | Switch the tablet off, mount the module again, rotate it clockwise until it locks and check that it is firmly attached                                                                                      |
| Coordinate system missing or wrong in the Cube-a project                          | **RTCM1021-1027** selected as **Coordinate system parameters type**                                                                                            | Select the coordinate system from **List** or from a file; RTKdata does not send 1021 to 1027                                                                                                               |
| Heights tens of meters off                                                        | Ellipsoidal heights, no geoid applied                                                                                                                          | Enable a geoid under **Geoid files** in Cube-a or in the GIS app, in one place only, see [Understanding Heights](/get-started/understanding-heights.md)                                                     |
| Corrections stop when a second device connects                                    | Two devices on one set of credentials                                                                                                                          | One data stream allows one connection. See [Account & Credentials](/get-started/account-and-credentials.md#using-one-subscription-with-several-devices).                                                    |

For connection problems that are not specific to Stonex controllers, see [Common Connection Issues](/support/common-connection-issues.md).

## Frequently asked questions

### Which Cube-a device type do I select for the S80G, S60G, S55G or S90G?

For RTKdata NTRIP corrections, select the UM980 entry with your model number without the G: **Stonex S80 - UM980 GNSS Accessory (RAW-RTK)** for the S80G, **Stonex S60 - UM980 GNSS Accessory (RAW-RTK)** for the S60G, **Stonex S55 - UM980 GNSS Accessory (RAW-RTK)** for the S55G and **Stonex S90 - UM980 GNSS Accessory (RAW-RTK)** for the S90G. The S60 and S90 entries are in Cube-a 7.2.05 or later. Do not select **Internal GPS** or an entry ending in **Internal GPS (RAW)**.

### Which Cube-a datalink do I choose: Internal Network or Phone Network?

**Phone Network.** On the S80G, S60G, S55G and S90G, RTKdata corrections come through the internet of the controller, and **Phone Network** is the Cube-a datalink for that. On the S80G, S60G and S55G, that internet comes from a Nano-SIM with mobile data or from Wi-Fi. **Internal Network** expects a SIM with internet inside the GNSS receiver.

### Why does my GIS app show zero satellites while Cube-a has a fix?

Because a mock location passes on only the position, not the satellite data. QField, Field Maps or SW Maps can show 0 satellites while Cube-a delivers the RTK position with RTKdata corrections. Check the fix and the correction age in Cube-a, not in the GIS app.

### Does the S60G GNSS module need its own SIM card?

No. With **Phone Network** in Cube-a, the RTKdata corrections come through the tablet: insert a Nano-SIM with mobile data into the S60 tablet, or connect the tablet to Wi-Fi or a phone hotspot.

## Quick reference

1. S60G: tablet off, clip on, two screws, module rotated clockwise until it locks. S80G: GNSS RTK module attached.
2. Internet on the controller for **Phone Network** (S80G, S60G, S55G: Nano-SIM with mobile data, Wi-Fi or phone hotspot).
3. Cube-a: **Device** > **Communication**, under **Device Type:** the UM980 entry from the model table (S80G **Stonex S80 - UM980 GNSS Accessory (RAW-RTK)**, S60G **Stonex S60 - UM980 GNSS Accessory (RAW-RTK)**, S55G **Stonex S55 - UM980 GNSS Accessory (RAW-RTK)**, S90G **Stonex S90 - UM980 GNSS Accessory (RAW-RTK)**), not **Internal GPS**, then **Connect**.
4. **Device** > **Working Mode** > **Rover**, **Communication Mode:** **Phone Network**, tap the **Phone Network** bar.
5. **Connect Mode:** **NTRIP**, own entry under **CORS Settings**, **IP:** `rtk.rtkdata.com`, `eu.rtkdata.com` or `aus.rtkdata.com` (IP fallback `13.56.117.10`, `3.73.41.96` or `54.206.56.130`), **Port:** `2101`, **User:** and **Password** from *RTK Credentials*.
6. **GET ACCESS POINT** (Cube-a 7.2.05: **Get mountpoint list**), `AUTO` under **Corrections**, **Automatically connect to network:** on, **Send GGA delay \[sec]:** `1`, **Fake GGA coordinates** off.
7. Outside with open sky: **Start**, **OK**, **Antenna Parameters** (**Ext. antenna type:** if Cube-a lists a profile for your model), **Apply**. Wait for **FIXED** with a low correction age.
8. GIS apps: mock locations on in Cube-a (**Enable (app. restart required)**, then restart Cube-a), **Select mock location app** set to Cube-a.

## Related Guides

* [NTRIP Server Settings](/get-started/network.md): the regional hosts, IP fallbacks, port and mountpoints in one reference
* [NTRIP & GGA Essentials](/integration-hub/ntrip-clients-and-field-software/ntrip-and-gga-essentials.md): why the caster needs your position before it sends corrections
* [Coordinate Systems & Datums](/get-started/coordinate-systems-and-datums.md): which datum `AUTO` and its variants deliver in each region
* [Understanding Heights](/get-started/understanding-heights.md): ellipsoidal and orthometric heights, and how to apply a geoid
* [Account & Credentials](/get-started/account-and-credentials.md): where to find your RTK credentials and how many devices can connect at once
* [Common Connection Issues](/support/common-connection-issues.md): what to check when corrections do not arrive or the fix stays on Float
* [Coverage Map](/get-started/coverage-map.md): check the station coverage at your site before you go out
* [QField](/integration-hub/ntrip-clients-and-field-software/qfield.md): mock location setup on Android and collecting RTK points in QField
* [Stonex S599 / S590](/integration-hub/gnss-rovers-and-receivers/stonex-s599-s590.md): Stonex receivers without a modem, set up in Cube-a with the same Phone Network page
* [Stonex S980A / S900A](/integration-hub/gnss-rovers-and-receivers/stonex-s980a-s900a.md): RTKdata setup for the Stonex S980A and S900A in Cube-a and the receiver web interface
* [Stonex S999 / S880](/integration-hub/gnss-rovers-and-receivers/stonex-s999-s880.md): RTKdata setup for the Stonex S999 and S880 in Cube-a 7 or the receiver Web UI
* [Stonex S1000 / S950](/integration-hub/gnss-rovers-and-receivers/stonex-s1000-s950.md): RTKdata setup for the Stonex S1000 and S950 in Cube-a, the S950 also in its Web UI
* [Stonex X200GO / X120GO](/integration-hub/lidar-scanners-and-mobile-mapping/stonex-x200go-x120go.md): RTKdata setup for the Stonex SLAM laser scanners in GOapp
* [GNSS Rovers & Receivers](/integration-hub/gnss-rovers-and-receivers.md): all receiver guides and the universal NTRIP parameters


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rtkdata.com/integration-hub/gnss-rovers-and-receivers/stonex-s80g-s60g-s55g-s90g.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
