# 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](/integration-hub/ntrip-clients-and-field-software/lefebure-ntrip-client.md) 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.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rtkdata.com/integration-hub/ntrip-clients-and-field-software/qfield.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
