# QField / QGIS

QField is a free, open-source mobile GIS application for Android and iOS, designed as the field companion to QGIS desktop. It excels at offline-capable data collection and works seamlessly with QGIS projects. QField does **not** have a built-in NTRIP client, so RTK corrections must be provided externally — either through a companion NTRIP app (such as Lefebure NTRIP Client or SW Maps) that sets Android mock locations, or through a GNSS receiver with its own internal NTRIP client. Once corrected positions are available, QField reads them automatically.

**Download:** [QField on Google Play](https://play.google.com/store/apps/details?id=ch.opengis.qfield) | [QField on App Store](https://apps.apple.com/app/qfield-for-qgis/id1531726814) (free)

## Requirements

* Android or iOS device with internet access (cellular data or Wi-Fi)
* Bluetooth-capable GNSS receiver (SparkFun RTK, ArduSimple, Emlid Reach, or any NMEA receiver)
* An NTRIP source — one of the following:
  * **Lefebure NTRIP Client** or **SW Maps** installed on the same Android device (for mock location approach)
  * A GNSS receiver with built-in NTRIP client (e.g., Emlid Reach, SparkFun RTK Facet with Wi-Fi)
* Active RTKdata.com account with RTK credentials (username starting with `rtk`)

{% 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 %}

## Step-by-step setup

{% stepper %}
{% step %}

#### Connect your Bluetooth GNSS receiver

1. Power on your GNSS receiver and enable Bluetooth.
2. On your phone, go to **Settings > Bluetooth** and pair with the receiver.
3. Verify the pairing is successful before continuing.

{% hint style="warning" %}
**QField does not manage Bluetooth GNSS connections directly.** The corrected position must be delivered to QField through Android mock locations or through the receiver's own NTRIP connection. The steps below explain both approaches.
{% endhint %}
{% endstep %}

{% step %}

#### Set up NTRIP corrections (Option A: Lefebure NTRIP Client)

This is the recommended approach for most users. Lefebure handles the NTRIP connection and feeds the corrected position to QField via Android mock locations.

1. Install **Lefebure NTRIP Client** from the Google Play Store.
2. Open Lefebure and configure the Bluetooth receiver connection (see the [Lefebure setup guide](https://docs.rtkdata.com/integration-hub/ntrip-clients-and-field-software/lefebure-ntrip-client) for details).
3. Enter the RTKdata.com NTRIP settings:

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

* **Caster Host:** `rtk.rtkdata.com`
* **Caster IP (fallback):** `13.56.117.10`
* **Caster Port:** `2101`
* **Username / Password:** From *RTK Credentials* in the internal dashboard (not website login)
* **Mountpoint (ALL CAPS):** `AUTO` (recommended) — or `AUTO_WGS84`, `AUTO_ITRF2020`, `AUTO_ITRF2014`
  {% endtab %}

{% tab title="Europe" %}

* **Caster Host:** `eu.rtkdata.com`
* **Caster IP (fallback):** `3.73.41.96`
* **Caster Port:** `2101`
* **Username / Password:** From *RTK Credentials* in the internal dashboard (not website login)
* **Mountpoint (ALL CAPS):** `AUTO` (recommended) — or `AUTO_WGS84`, `AUTO_ITRF2020`, `AUTO_ITRF2014`
  {% endtab %}

{% tab title="Australia" %}

* **Caster Host:** `aus.rtkdata.com`
* **Caster IP (fallback):** `54.206.56.130`
* **Caster Port:** `2101`
* **Username / Password:** From *RTK Credentials* in the internal dashboard (not website login)
* **Mountpoint (ALL CAPS):** `AUTO` (recommended) — or `AUTO_WGS84`, `AUTO_ITRF2020`, `AUTO_ITRF2014`
  {% endtab %}
  {% endtabs %}

4. Enable **Send NMEA GGA to Server** — this is required for RTKdata.com VRS corrections.
5. Tap **Connect** in Lefebure. Wait for the solution to reach **RTK Fix**.
   {% endstep %}

{% step %}

#### Enable Android mock locations

1. On your phone, go to **Settings > About Phone** and tap **Build Number** 7 times to unlock Developer Options.
2. Go to **Settings > Developer Options > Select mock location app**.
3. Choose **Lefebure NTRIP Client** (or SW Maps, if using that instead).
4. Return to Lefebure and enable **Mock Location Provider** in its settings.
5. Verify mock locations are working: open Google Maps and confirm the blue dot shows centimeter-level accuracy matching Lefebure's reported position.

{% hint style="info" %}
With mock locations active, **every app** on your Android device — including QField — will automatically receive the RTK-corrected position from your external GNSS receiver.
{% endhint %}
{% endstep %}

{% step %}

#### Set up NTRIP corrections (Option B: Receiver with built-in NTRIP)

If your receiver has a built-in NTRIP client (e.g., Emlid Reach via ReachView, SparkFun RTK Facet via Wi-Fi), you can configure RTKdata.com directly on the receiver:

1. Access your receiver's web interface or configuration app.
2. Enter the same RTKdata.com NTRIP settings shown in the tabs above.
3. The receiver handles corrections internally and outputs an already-corrected NMEA position over Bluetooth.
4. No mock location setup is needed — QField receives the corrected position directly from the Bluetooth connection.
   {% endstep %}

{% step %}

#### Open QField and collect data

1. Open QField and load your QGIS project.
2. QField will automatically use the device's location. With mock locations enabled (Option A) or a receiver outputting corrected positions (Option B), QField receives centimeter-level accuracy.
3. Tap the **crosshair** icon to center on your current position.
4. Verify accuracy: QField shows a position accuracy circle. With RTK Fix, this circle should be very small (1–2 cm).
5. Begin digitizing features, collecting points, or performing field inspections.

{% hint style="info" %}
**QGIS desktop post-processing:** You can also collect raw GNSS observations in the field and post-process them in QGIS using RTKdata.com RINEX data. This is useful for areas without cellular coverage. Contact RTKdata.com support for RINEX data availability.
{% endhint %}
{% endstep %}
{% endstepper %}

## Vertical reference

{% hint style="info" %}
Heights from RTKdata.com are **ellipsoidal**, not orthometric (mean sea level). QField displays coordinates as received. If your project requires orthometric heights, apply a geoid model in your QGIS project settings before deploying to QField.
{% endhint %}

## Troubleshooting

| Problem                                       | Cause                                           | Fix                                                                                                                    |
| --------------------------------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| QField shows phone GPS accuracy (5–15 m)      | Mock locations not active or wrong app selected | Verify Developer Options > Mock location app is set to Lefebure. Confirm Lefebure's Mock Location Provider is enabled. |
| Lefebure has Fix but QField still inaccurate  | Mock location provider not enabled in Lefebure  | Open Lefebure settings and toggle **Mock Location Provider** ON.                                                       |
| NTRIP connects but stays on Float             | GGA not being sent to caster                    | Enable **Send NMEA GGA to Server** in Lefebure. This is required for VRS corrections.                                  |
| Mountpoint error                              | Lowercase or misspelled mountpoint              | Enter `AUTO` in ALL CAPS.                                                                                              |
| QField cannot find project files              | Project not synced to device                    | Transfer the QGIS project and all data layers to the device's QField folder via QFieldCloud or USB.                    |
| Position jumps between phone GPS and receiver | Mock location toggling on/off                   | Ensure only one mock location provider is active. Disable the phone's internal location if needed.                     |

## Tips for best results

* **Lefebure + QField is the most common RTK workflow** for open-source GIS users. Set up Lefebure first, confirm RTK Fix, then open QField.
* **SW Maps is an alternative** to Lefebure for the mock location approach, and also works as a standalone data collection app.
* **Prepare your QGIS project on desktop first.** Define layers, symbology, and forms in QGIS, then transfer to QField. This saves significant field time.
* **For iOS users**, mock locations are not available. Use a receiver with a built-in NTRIP client (Option B) instead.
* **Keep Lefebure running in the foreground** (or disable battery optimization) to prevent Android from killing the mock location provider during fieldwork.
