GNSS field guide
Build a low-cost RTK surveying kit with Android
When you survey a boundary, the point you save belongs to the antenna. Choose a receiver, trace the corrections to the rover and check the coordinates before you walk the plot.
See the field setup
How RTK works from base to rover
Conventional GNSS estimates ranges from satellite signal travel times. In open sky, standalone errors are typically measured in metres. Real-Time Kinematic (RTK) also measures carrier phase, down to a fraction of a wavelength. The receiver must resolve the number of whole cycles between each satellite and its antenna.
A base stays at known coordinates. The rover at the survey point compares simultaneous observations with the base. Differencing reduces common clock, orbit and atmospheric errors. An error in the base coordinates also shifts the survey.
- Base or reference network
Observes the satellites and generates reference data, usually in RTCM format.
- NTRIP caster
Distributes the stream over the internet. Register with the network if required and select a mountpoint covering your area.
- Android and rover
The NTRIP client feeds the stream to the RTK engine, which combines it with the rover’s own satellite observations.
NTRIP stands for Networked Transport of RTCM via Internet Protocol. Spain’s IGN is one example of a public reference network. For a virtual reference station (VRS) mountpoint, the client usually sends an approximate position in a GGA message so the network can generate data for that location.
FLOAT means the cycle ambiguities are estimated as real numbers. FIX means the engine has resolved integer ambiguities. A stable fix can yield centimetre-level horizontal accuracy with open sky, good geometry, a suitable antenna and fresh corrections. Height is usually less accurate. Check a known point before accepting the result.
PPP, RTK and Galileo HAS
Precise Point Positioning (PPP) combines a single receiver’s observations with precise satellite orbit, clock and bias products. Services can supply these in real time or after the survey. The engine needs continuous observations to estimate the unknowns. Following a signal interruption, it may need to converge again.
Galileo HAS delivers free corrections for Galileo and GPS over the Galileo E6-B signal and the internet. Compatible equipment can apply them in a PPP solution. Check both message reception and solution convergence.
| Method | Inputs | Field expectations |
|---|---|---|
| Standalone GNSS | Satellite signals | A position within metres, quickly. Useful for reconnaissance. |
| RTK | Nearby base or reference network and a data link | Centimetres are possible with FIX. Coverage and shared signals matter. |
| PPP | Precise products and continuous tracking | Works away from local bases. Allow convergence time. HAS targets decimetre accuracy under nominal conditions. |
The satellite HAS integration documented by MovilTopo requires an identified UM980 with firmware Build11833 or later and an E6 antenna. A rover using LC29HDA and NTRIP follows the relative RTK workflow.
Assemble a budget Quectel LC29HDA rover
LC29HDA boards on marketplaces such as AliExpress can be around €40. Treat this as a board estimate. Check the DA suffix, current seller price, tax and which accessories come in the box.
- Receiver and carrier. Choose a board with the right power supply, antenna input and an Android-compatible USB interface. A bare module needs a carrier.
- Antenna. Match L1/L5, connector and active antenna supply voltage. Mount the antenna level on a stable pole and measure its height above the point.
- Phone and power. Use an Android phone with USB OTG, a suitable adapter and a data cable. For repeated resets, check the power budget and, if needed, a compatible powered OTG hub.
- Corrections and recording. Obtain the caster host, port, credentials if required and an RTCM mountpoint with common signals. Use an app such as MovilTopo to pass corrections to the receiver and record its position.
Field example: check the kit before walking a boundary
Connect the antenna to the board and the board to the phone. In open sky, confirm the phone receives external positions. Start NTRIP and check that fresh data reach the rover. After a stable fix, measure a control point, reinitialise and measure again. Repeatability checks consistency. Comparing against known coordinates in the same reference frame also reveals a common offset.
Compare LC29HDA, UM980 and ZED-F9P
| Receiver | Signals and capability | Typical application |
|---|---|---|
| Quectel LC29H (DA) | Dual-band L1/L5, including GPS, Galileo, BeiDou and GLONASS tracking. RTK rover at 1 Hz. | An inexpensive first rover for point surveys. |
| Unicore UM980 | GPS L1/L2/L5 and Galileo E1/E5/E6, plus BeiDou, GLONASS and QZSS signals. Multifrequency RTK. | Surveying and agriculture with more signal options or satellite HAS. |
| u-blox ZED-F9P | Multiconstellation RTK with GPS, Galileo, GLONASS and BeiDou. L1/L2 (e.g. 05B) and L1/L5 (15B) variants exist. Check the suffix. | Base or rover for integration projects needing receiver configuration. |
A nominal accuracy figure describes a particular test. Under trees, time spent in FIX and time to recover may matter more. Extra bands help when the antenna, base and rover share signals. A higher price cannot remove reflections off a nearby wall.
Five ways Android fits into a GNSS setup
- Internal GNSS. Standard phone positions are convenient for mapping. Compact antennas and reflected signals limit performance.
- Raw observations. Some phones provide usable carrier phase. A compatible engine can combine it with base data. Internal RTK in MovilTopo is experimental and device dependent.
- USB OTG. A multiband external rover measures at the pole antenna and computes the position. The phone records that solution.
- Bluetooth. A compatible serial link, such as Classic Bluetooth SPP, can replace the cable. Check both directions: positions to the phone and RTCM back to the receiver.
- NTRIP on Android. It transports reference data to the external receiver or a compatible internal engine. Downloading a stream alone does not correct the phone position.
What can a budget RTK rover measure?
Walk parcel vertices in order and return to the first point. For a GIS point survey, record antenna height and solution status with coordinates. For stakeout, use design coordinates in the same reference system and check the physical offset on site.
In agriculture, compare row alignments between visits. For a personal engineering project, survey a profile before planning drainage. For research, repeat a known point under open sky and tree cover and compare error and fix availability. Official, professional or cadastral work may require specific procedures, certified instruments or qualifications.
Field questions
Why can’t I get RTK FIX?
Check sky view, antenna stability, correction age and common signals in the mountpoint. A connected stream can still lack the observations your rover needs.
Does NTRIP need internet access?
A public internet caster does. A local caster can work on a private IP network. A base can also send RTCM by radio without NTRIP.
How much does base distance matter?
As the baseline grows, atmospheric errors become less alike. Fixing may slow or fail. Check network coverage or choose a nearby single base.
Can I use RTK without a subscription?
Some public networks offer free registration. Check coverage, terms and format. An alternative is your own base on known coordinates.
Why does the antenna matter?
Its frequency coverage determines which signals reach the receiver. Check L5 support, connector and placement before blaming the correction service.
How does phone GPS differ from an LC29HDA?
A phone’s standard location uses its integrated antenna. The LC29HDA has a dedicated RTK engine, an external antenna input and a reference data input.
Can Android give centimetre accuracy?
Yes, in suitable conditions. Repeat a fixed solution over a known control point after reinitialising. The accuracy shown on screen is an estimate.
Do I need two receivers?
With a reference network you carry only the rover. With your own base you also need a base receiver and a link to the rover.