Mapit NTRIP Client
Coming soon
The NTRIP client requires a Mapit Pro Plus subscription. See Mapit Pro Plus for details.
Mapit GIS includes a built-in NTRIP client that connects to any NTRIP caster over the internet, receives RTCM correction data in real time, and forwards it to your external GNSS receiver over Bluetooth or TCP. This enables centimetre-level RTK positioning directly from the app - no third-party correction app required.
- Android
- iOS
How RTK Corrections Work
Real-Time Kinematic (RTK) positioning works by combining satellite observations from your receiver (the rover) with correction data from a nearby reference station (base station) whose position is precisely known. The reference station continuously computes the difference between its known position and its satellite-derived position, then broadcasts these corrections as RTCM messages.
Your receiver applies these corrections to its own observations and resolves carrier-phase ambiguities, achieving accuracies of 1-3 cm horizontally.
Reference Station
(known position)
│
▼
NTRIP Caster
(relay server)
│
▼
Mapit GIS
(NTRIP client)
│
▼
GNSS Receiver
(computes RTK fix)
│
▼
Corrected Position
│
▼
Mapit GIS Location
NTRIP (Networked Transport of RTCM via Internet Protocol) is the standard protocol for streaming RTCM corrections over the internet. An NTRIP caster is a server that receives data from one or more reference stations and distributes it to connected clients.
Hardware Requirements
The NTRIP client forwards raw RTCM correction data to your GNSS receiver. The receiver itself must be capable of processing these corrections and computing an RTK solution. Not all receivers support RTK.
What You Need
- A multi-frequency (L1/L2) RTK-capable GNSS receiver that accepts RTCM input over Bluetooth or TCP/Wi-Fi
- Mobile data or Wi-Fi on your Android device to connect to the NTRIP caster
- An NTRIP caster account (free or paid, depending on the provider)
Why L1/L2 Matters
Single-frequency (L1-only) receivers cannot resolve carrier-phase ambiguities reliably enough for centimetre-level RTK. Multi-frequency receivers track signals on two or more bands (L1 + L2, or L1 + L5), which allows them to:
- Resolve integer ambiguities faster (shorter time to first fix)
- Maintain a fix over longer baselines (distance to the reference station)
- Achieve centimetre-level accuracy in typical field conditions
Sample Compatible Receivers
Below are sample receivers that are known to support RTK corrections. This list is not exhaustive - any receiver that accepts RTCM3 input over Bluetooth SPP or TCP and outputs NMEA should be compatible with the Mapit NTRIP client.
Sample Budget / Development Boards
| Receiver | Manufacturer | Frequencies | Connection |
|---|---|---|---|
| RTK Portable Bluetooth Kit | ArduSimple | L1/L2 | Bluetooth |
| simpleRTK2B Lite BT Kit | ArduSimple | L1/L2 | Bluetooth |
| simpleRTK2B Budget + BT plugin | ArduSimple | L1/L2 | Bluetooth |
| Reach M2 | Emlid | L1/L2 | Wi-Fi / TCP |
Sample Professional GNSS Receivers
| Receiver | Manufacturer | Frequencies | Connection |
|---|---|---|---|
| Globe | SXblue (Geneq) | L1/L2 | Bluetooth + Wi-Fi |
| Smart / Platinum | SXblue (Geneq) | L1/L2 | Bluetooth |
| Arrow Gold+ / Gold | Eos Positioning | L1/L2/L5 | Bluetooth |
| Arrow 100+ / 100 | Eos Positioning | L1/L2 | Bluetooth |
| Reach RS3 | Emlid | L1/L2 | Wi-Fi / TCP |
| Flex | Bad Elf | L1/L2 | Bluetooth |
| R12i / R10 | Trimble | L1/L2/L5 | Bluetooth + Wi-Fi |
| TDC650 / TDC600 | Trimble | L1/L2 | Bluetooth + Wi-Fi |
| GS18 T / GS18 I | Leica Geosystems | L1/L2/L5 | Bluetooth + Wi-Fi |
| Zeno GG04 plus | Leica Geosystems | L1/L2 | Bluetooth |
| iG8 / iG6 | CHC Navigation | L1/L2/L5 | Bluetooth + Wi-Fi |
| S900A / S980A | South Surveying | L1/L2/L5 | Bluetooth + Wi-Fi |
| V200 / V100 | Hi-Target | L1/L2/L5 | Bluetooth + Wi-Fi |
Sample Receivers That Do NOT Support RTK
These receivers are supported by Mapit GIS for standard positioning but cannot process RTCM corrections:
| Receiver | Manufacturer | Reason |
|---|---|---|
| SXblue II / II+ | SXblue (Geneq) | L1-only, no RTCM input - supports SBAS (EGNOS/WAAS) only |
| GPS Pro / Pro+ | Bad Elf | L1-only, no RTCM input |
| GLO / GLO 2 | Garmin | L1-only, consumer-grade |
| Garmin GLO / GLO 2 | L1-only, consumer-grade |
Configuring the NTRIP Client
Step 1: Open NTRIP Settings
- Open Settings from the main menu
- Navigate to NTRIP Corrections
- Tap Add Configuration to create a new caster profile
Step 2: Enter Caster Details
| Field | Description | Example |
|---|---|---|
| Name | A label for this configuration | RTK2go - MyMount |
| Host | NTRIP caster hostname or IP | rtk2go.com |
| Port | Caster port number | 2101 |
| Mountpoint | The specific correction stream | NEAR_ME |
| Username | Caster username (if required) | user@email.com |
| Password | Caster password (if required) | none |
| NTRIP Version | V1 or V2 (most casters support both) | V2 |
Step 3: Select the Receiver Target
Choose where to forward the RTCM corrections:
| Target | When to use |
|---|---|
| Bluetooth | Your receiver is connected via Bluetooth SPP (most common) |
| TCP | Your receiver is connected via TCP/IP or Wi-Fi |
| Test | No forwarding - just monitor the stream for testing |
Step 4: Configure GGA Sending
Many NTRIP casters require your approximate position (via a GGA sentence) to select the nearest reference station or to provide Virtual Reference Station (VRS) corrections.
| Setting | Description | Default |
|---|---|---|
| Send GGA | Enable automatic GGA position reporting to the caster | On |
| GGA interval | How often to send your position (seconds) | 10 |
Leave GGA sending enabled unless you are connecting to a single-base station caster that does not require it. VRS networks always require GGA to generate corrections for your location.
Step 5: Connect
Tap Connect. The app will:
- Start a foreground service with a persistent notification
- Connect to the NTRIP caster
- Authenticate and request the mountpoint stream
- Begin receiving RTCM correction data
- Forward RTCM data to the selected receiver target
- Send GGA position updates at the configured interval
The notification shows the connection status and current data rate (KB/s).
On Android 13+, the app needs notification permission to display the foreground service notification. If you denied this permission, go to Android Settings > Apps > Mapit GIS > Notifications and enable it. Without notifications enabled, Android may kill the NTRIP service while the app is in the background.
Finding an NTRIP Caster
Free Casters
| Caster | Host | Port | Notes |
|---|---|---|---|
| RTK2go | rtk2go.com | 2101 | Free community caster. Use your email as username, none as password. Browse mountpoints at rtk2go.com |
| EUREF-IP | euref-ip.net | 2101 | Free European reference stations. Register for access |
| Emlid Caster | caster.emlid.com | 2101 | Free for Emlid users |
Commercial / Government Networks
Many countries operate free or subsidised RTK reference station networks:
| Network | Country | Notes |
|---|---|---|
| OS Net | UK | Ordnance Survey - requires commercial license |
| SAPOS | Germany | State surveying authorities |
| CORS | USA | NGS Continuously Operating Reference Stations |
| SmartNet | UK/Europe | Leica Geosystems commercial network |
| Trimble VRS Now | Various | Trimble commercial VRS network |
Using RTK2go (Free, Recommended for Testing)
RTK2go is the easiest way to get started:
- Visit rtk2go.com to browse available mountpoints near you
- In Mapit GIS, create a new NTRIP configuration:
- Host:
rtk2go.com - Port:
2101 - Username: your email address
- Password:
none
- Host:
- The app will fetch the source table and list available mountpoints
- Mountpoints are sorted by distance from your current position - select the nearest one
- Tap Connect
The closer the reference station to your position, the better. RTK accuracy degrades with baseline length. Aim for a station within 30 km for reliable RTK Fixed solutions.
Connection Management
Auto-Reconnect
If the connection drops (network interruption, caster restart), the app automatically reconnects with exponential backoff:
| Attempt | Delay |
|---|---|
| 1 | 5 seconds |
| 2 | 10 seconds |
| 3 | 20 seconds |
| 4 | 40 seconds |
| 5+ | 60 seconds (max) |
After 20 failed attempts, the service stops automatically.
Multiple Configurations
You can save multiple NTRIP caster profiles - for example, one for your local RTK network and one for RTK2go as a fallback. Only one connection can be active at a time.
Disconnecting
Tap Disconnect in the NTRIP settings, or tap the Stop action on the foreground notification. Disconnecting stops all RTCM forwarding and closes any active stream log files.
Monitoring Streams
The Stream Monitor screen provides real-time visibility into the RTCM and NMEA data flowing through the app.
Open it from Settings > NTRIP Corrections > Stream Monitor.
RTCM Tab
Displays decoded RTCM3 messages in real time:
| Column | Description |
|---|---|
| Time | When the message was received (HH:mm:ss.SSS) |
| Type | RTCM message type number and name (e.g., 1077 GPS MSM7) |
| Size | Message size in bytes |
A summary bar at the top shows:
- Total messages received
- Number of unique message types
- Messages per second
Common RTCM3 message types you may see:
| Type | Description |
|---|---|
| 1004 | GPS L1/L2 observations (legacy) |
| 1005/1006 | Station coordinates |
| 1012 | GLONASS L1/L2 observations (legacy) |
| 1033 | Receiver/antenna descriptor |
| 1074-1077 | GPS MSM4-MSM7 (modern, preferred) |
| 1084-1087 | GLONASS MSM4-MSM7 |
| 1094-1097 | Galileo MSM4-MSM7 |
| 1124-1127 | BeiDou MSM4-MSM7 |
| 1230 | GLONASS code-phase biases |
| 4072 | Reference station PNT (u-blox proprietary) |
NMEA Tab
Displays raw NMEA sentences from the connected GNSS receiver:
| Column | Description |
|---|---|
| Time | When the sentence was received |
| Sentence | Raw NMEA sentence (e.g., $GPGGA,...) |
This is useful for verifying that your receiver is outputting data and checking the fix quality field in real time.
Clearing the Monitor
Tap the delete icon in the top bar to clear all messages in the current tab. The monitor holds up to 500 messages per tab.
Recording Streams to File
You can record RTCM and NMEA streams to files in the Mapit-Data/Logs/ directory for post-session diagnostics, quality analysis, or post-processing.
Starting a Recording
- Open the Stream Monitor
- Select the RTCM or NMEA tab
- Tap the record button (circle icon) in the top bar
- The icon turns to a red stop icon and a status bar appears showing bytes written
Each tab has an independent record button - you can record RTCM and NMEA simultaneously or separately.
Recording Status Bar
When recording is active, a red status bar appears below the tab row:
Recording · 2.4 MB
If recording stops automatically, the bar shows the reason:
Stopped: Max file size reached
File Format and Naming
| Stream | Extension | Format | Example filename |
|---|---|---|---|
| RTCM | .rtcm3 | Raw binary (can be opened in RTKCONV, RTKLIB) | rtcm_2026-02-23_163000.rtcm3 |
| NMEA | .nmea | Plain text with CRLF line endings | nmea_2026-02-23_163000.nmea |
The timestamp in the filename is when recording started.
File Size Limits
Each log file has a maximum size of 50 MB (approximately 8 hours of combined recording). When the limit is reached, recording stops automatically with a notification. Typical sizes:
| Stream | Rate | 1 hour | 8 hours |
|---|---|---|---|
| RTCM (raw binary) | ~1 KB/s | ~3.6 MB | ~29 MB |
| NMEA (raw text) | ~0.6 KB/s | ~2.3 MB | ~18 MB |
| Combined | ~1.6 KB/s | ~6 MB | ~47 MB |
Recording Persists Across Screens
Recording is managed by a background singleton - it continues even when you close the Stream Monitor screen. Reopening the monitor will show the current recording status. Recording stops when:
- You tap the stop button
- The 50 MB file size limit is reached
- You disconnect from the NTRIP caster
Post-Processing with RTKLIB
The recorded .rtcm3 files can be converted and post-processed using RTKLIB (free, open-source):
- Open RTKCONV to convert
.rtcm3to RINEX observation files - Use RTKPOST to post-process against a base station for improved accuracy
- The
.nmeafiles can be opened in any text editor or imported into GIS software
Understanding Fix Quality
Once RTCM corrections are being applied by your receiver, you will see the fix quality change in the GPS Info sheet:
| Quality | Meaning | Typical Accuracy |
|---|---|---|
| 1 | GPS (SPS) - no corrections | 2-5 m |
| 2 | DGPS - SBAS/differential | 0.5-2 m |
| 4 | RTK Fixed - full solution | 1-3 cm |
| 5 | RTK Float - converging | 10-30 cm |
The progression is typically: 1 (SPS) → 5 (Float) → 4 (Fixed). Time to first fix depends on satellite visibility, baseline length, and the number of satellites tracked on both frequencies. Expect 10-60 seconds under good conditions.
If the fix quality remains at 1 after connecting to NTRIP:
- Verify your receiver supports RTCM input (see sample compatible receivers above)
- Check that the receiver target is set correctly (Bluetooth or TCP)
- Confirm the mountpoint is providing corrections for your region
- Ensure the baseline to the reference station is within range (< 30 km recommended)
For a detailed explanation of all fix types and how accuracy is computed, see RTK and Fix Types.
Typical Field Workflow
-
Before going to the field:
- Create an NTRIP configuration with your caster details
- Verify your receiver is paired via Bluetooth (see Connecting a Receiver)
- Ensure you have mobile data coverage at the survey site
-
At the survey site:
- Power on your GNSS receiver and connect via Bluetooth
- Open Settings > NTRIP Corrections and tap Connect
- Wait for the notification to show a data rate (e.g.,
MyMount - 1.2 KB/s) - Open the Stream Monitor to verify RTCM messages are flowing
- Check the GPS Info sheet - wait for fix quality to reach RTK Fixed (4)
- Optionally start recording the RTCM/NMEA streams for diagnostics
- Begin data collection
-
After the survey:
- Disconnect from NTRIP (or it disconnects automatically when you stop the service)
- Log files (if recording was active) are saved in
Mapit-Data/Logs/ - Recorded
.rtcm3and.nmeafiles can be used for post-processing or quality verification
Troubleshooting
| Problem | Possible Cause | Solution |
|---|---|---|
| Cannot connect to caster | Wrong host/port, no internet | Verify caster details and mobile data |
| Connected but no data | Wrong mountpoint, authentication failed | Check mountpoint name, username/password |
| RTCM flowing but fix stays at 1 | Receiver does not support RTK | Use a multi-frequency L1/L2 receiver with RTCM input |
| Fix stays at Float (5) | Poor satellite visibility, long baseline | Move to open sky, use a closer reference station |
| Frequent disconnections | Unstable mobile data | The client auto-reconnects; consider a caster with lower bandwidth requirements |
| Stream monitor shows no NMEA | Receiver not connected or not outputting | Check Bluetooth connection and receiver NMEA output configuration |
| Recording fails to start | Storage not accessible | Ensure Mapit-Data folder is set up and has write access |
The NTRIP client is not available on iOS at this time.