Two DJI-specific rules to know first
Rule 1 — Always use MSM5, never MSM4
DJI's RTK engine requires Doppler observations to initialise Fix. MSM5 includes Doppler; MSM4 does not. If you connect a DJI drone to an MSM4 mountpoint, the correction stream flows and the connection shows as active — but the drone will never reach RTK Fixed. It stays on Float indefinitely. Always select the MSM5 mountpoint: RTCM3_NL_MSM5.
Rule 2 — Always connect outdoors, never indoors
DJI sends GGA (its position to the NTRIP server) only after the drone has achieved standalone GPS lock — typically after acquiring 10–12 satellites. This only happens outdoors. If you configure and connect indoors, the server receives no valid position and streams nothing back. The app may show “connected” but RTK status stays at Single or Float. Always power on and connect outdoors with clear sky.
Before you start
Requirements
DJI RTK drone with RTK module installed (Mavic 3E requires separate module purchase)
DJI RC Pro or RC Plus controller with DJI Pilot 2 app (latest version)
Internet connection on the controller — phone hotspot or 4G dongle
NTRIP credentials: host, port, mountpoint, username and password
Must be outdoors — RTK cannot initialise indoors
Use MSM5 mountpoint — MSM4 will not give Fix on DJI
Step-by-step setup in DJI Pilot 2
Connect the controller to internet
The controller needs internet access to reach the NTRIP server. Connect it to a mobile hotspot from your phone, or insert a 4G dongle if your controller supports it (RC Pro and RC Plus both have a USB-A port for 4G dongles).
Go to the controller's Wi-Fi settings and connect to your hotspot. Verify internet is working by checking that the controller's status bar shows a data connection before proceeding.
Power on the drone outdoors and wait for GPS lock
Place the drone on a level surface outdoors with clear sky view. Power on the drone, then the controller. Open DJI Pilot 2.
Wait until the drone's GPS indicator shows at least 10 satellites and the status displays Single Point or better. This typically takes 30–60 seconds. Do not attempt to connect to NTRIP before this point — the drone is not yet sending a valid GGA position.
Open RTK settings in DJI Pilot 2
In DJI Pilot 2, tap the three dots (···) in the top-right corner of the camera view to open the settings menu.
Look for the satellite icon in the settings list — this is the RTK menu. It only appears when a compatible RTK module is attached and recognised by the controller. If you do not see it, check that the RTK module is correctly seated and the drone firmware is up to date.
Tap the satellite icon to open the RTK configuration panel.
Enable RTK and select Custom Network RTK
In the RTK panel, enable RTK Positioning using the toggle at the top. Also enable Maintain Positioning Accuracy — this keeps RTK active during the mission rather than falling back to GPS when RTK briefly fluctuates.
Set RTK Service Type to Custom Network RTK. This is the standard NTRIP option for any third-party correction service.
Enter your NTRIP credentials
Fill in the Custom Network RTK fields. For RTKsub:
Hostntrip.rtksub.comPort2101MountpointRTCM3_NL_MSM5 MSM5 required for DJI — never use MSM4Usernameyour usernamePasswordyour passwordTap Save. DJI Pilot 2 will immediately attempt to connect to the NTRIP server and begin streaming corrections.
Verify RTK Fixed before flight
Watch the RTK status indicator in DJI Pilot 2. It progresses through:
Single Point → Float → Fixed Point ✓
In good sky conditions within 30 km of a reference station, Fixed Point typically arrives within 30–90 seconds of connecting. The status bar also shows “RTK data connected — RTK in use” when corrections are flowing.
DJI will not allow take-off while the RTK status is Single Point or Float if RTK is enabled. Wait for Fixed Point before launching the mission.
Credentials are remembered
Once you save your NTRIP credentials in DJI Pilot 2, they are stored on the controller. On subsequent sessions you only need to go to RTK settings and tap Save again — the fields are already filled. No need to retype credentials at each job site.
Model-specific notes
Mavic 3E / 3T
DJI Mavic 3 Enterprise and Mavic 3T: The RTK module is a separate purchase and is not included with the base drone. Without it, no RTK menu appears in Pilot 2. Install the module by opening the accessory port on top and aligning the connector carefully before tightening the screws.
The Mavic 3E uses the RC Pro Enterprise controller. Connect it to internet via a phone hotspot — the RC Pro has no built-in SIM slot. Some users connect the RC Pro to a 4G dongle via a USB-A to USB-C adapter.
The Mavic 3T (thermal) also supports the RTK module for the visible camera channel. RTK accuracy applies to RGB geotagging — thermal images use the same geotag.
Pre-flight RTK workflow
Follow this sequence on every flight to ensure RTK is active and reliable before take-off:
Arrive at site → connect controller to internet
Via phone hotspot or SIM. Verify data connection.
Power on drone outdoors
In the intended take-off area with clear sky. Avoid powering up under trees or canopies.
Wait for GPS lock
Wait for 10+ satellites shown in Pilot 2. This takes 30–60 seconds.
Open RTK settings
Confirm Custom Network RTK is selected, then tap Save to connect.
Wait for Fixed Point
Typically 30–90 seconds. Do not launch until status is Fixed.
Check bytes per second
Check in the RTK status — any non-zero value confirms corrections are flowing.
Plan and execute mission
RTK Fixed will be maintained throughout if internet stays connected.
Heights and geoid in DJI
DJI outputs ellipsoidal heights by default — height above the WGS84 ellipsoid, not above sea level. For photogrammetry missions where orthometric heights matter, you need to apply a geoid correction either in DJI Pilot 2 or in post-processing software.
In DJI Pilot 2, go to Settings → RTK → Geoid File and load the appropriate national geoid. For the Netherlands, load NLGEO2018 (part of RDNAPTRANS™ 2018). For the UK, load OSGM15. This converts the drone's ellipsoidal heights to orthometric heights in the geotagged image data.
Heights without geoid are off by 38–44 m in the Netherlands
If you do not load a geoid file and your photogrammetry software uses the drone's raw ellipsoidal heights, your terrain model will be elevated by approximately 38–44 m relative to NAP. This does not affect horizontal accuracy — only heights. Always verify against a known benchmark point before delivering results.
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| Connected but stuck on Float | MSM4 mountpoint selected instead of MSM5 | Change mountpoint to RTCM3_NL_MSM5. Save and reconnect. |
| “Setting failed” error on save | No internet connection or wrong host | Verify controller has internet. Check host has no http:// prefix. Port must be 2101. |
| RTK status shows 0 bytes/sec | Connected indoors — GGA not sent | Go outside. Wait for GPS lock. Reconnect. |
| No satellite icon in settings menu | RTK module not detected | Power off, reseat the RTK module, power on. Check for firmware update. |
| Fixed Point but wrong image heights | Geoid file not loaded — ellipsoidal vs orthometric | Load national geoid in Pilot 2: Settings → RTK → Geoid File. |
| RTK drops to Float during mission | Internet disconnected or signal lost | Check hotspot connection. Enable “Maintain Positioning Accuracy” to minimise impact of brief drops. |
| Long initialisation — >5 min to Fixed | Long baseline or obstructed sky | Switch to VRS mountpoint (RTCM3_NL_VRS). Move drone to clearer sky area. |




