RETEX: My Journey into RTK
(text translated from my original entry in french using Chatgpt)
to be continued, perhaps:
- journal entry (coming soon): Existential questions about my encounter with Panoramax
- journal entry (coming soon): Mapping my village
I would like to point out that these journal entries are neither WIKI pages nor expert advice… They are simply accounts of lived experiences shared here for anyone who may be interested.
Why did I become interested in this topic?
During my urban recycling trekking (see previous journal entries), I photographed all the voluntary drop-off containers I came across, uploaded these photos to Panoramax, and added the Panoramax photo reference in OSM. This caused me no issues, as my goal was that, from the standard OpenStreetMap rendering layer, it would be easy (in this case, a simple click) to find the images.
I positioned the containers in OSM not based on the photo, but using aerial imagery and relevant environmental features (street intersections, buildings, etc.). This worked perfectly well until I noticed three things:
- when aerial imagery or the already mapped environment did not allow me to geolocate a container without hesitation, I sometimes went back to the geolocation embedded in the photo—and realized… that it placed my camera in the middle of a pond next to the road!
- when I discovered the “explorer” feature of Panoramax, I immediately checked the places where I had taken and published images. I then realized that the points with photos were rarely at the exact location of the container as I remembered it (nor at the exact shooting position).
- when I developed a small piece of software to process positioning streams emitted by OsmAnd to allow my family to follow me while hiking (Github oldnab OnlineTracker), I realized that without smoothing, the track was a sometimes chaotic polyline which still allowed people to know roughly where I was—within a few meters—but distorted any distance calculation (without smoothing, the polyline could produce a distance estimate off by more than 30%).
This realization will probably make most contributors reading this smile, but keep in mind that I had barely 6 months of experience on OSM, and the issue of “GPS accuracy” had never really struck me. I then looked into the subject and learned:
- that the GNSS antennas built into smartphones or cameras are of limited quality (to fit inside the device), which generally reduces the number of satellites properly received at any given moment, and therefore the reliability of positioning
- that, of course, the immediate environment (signal obstructions, reflections, etc.) disrupts satellite signals
- that even with a better antenna and a favorable environment, distortions caused by atmospheric traversal (which vary by location and time) affect signal processing (especially timing comparisons) and ultimately do not allow accuracy better than “within 5 to 10 meters” (unless one remains stationary, collects data over several hours, and then detects and compensates for atmospheric distortions through computation)
RTK principles from a layperson’s perspective
There is plenty of literature far better than what I could produce on the subject (Wikipedia, Centipede, etc.), so I will limit myself to a simplified introduction for beginners to the three main components:
-
RTK Base: a reference point
- Set up a reasonably good antenna and a suitable receiver on a fixed location.
- Let this system compute (once) its position with centimeter accuracy using long measurements that detect and cancel atmospheric distortions.
- Then let it perform regular measurements (every few seconds) to compute its theoretical position without accounting for atmospheric distortions, and thus determine (every few seconds), since the base knows its true position, the offset between actual and theoretical positions at that moment and location.
- Use this offset/distortion calculation assuming that the distortion is roughly the same within a reasonable radius (a very good approximation up to ~10 km, very poor beyond ~40 km).
-
RTK Rover: equipment requiring centimeter-level positioning
- Equip a mobile setup (backpack, bicycle, car, agricultural machine) with a reasonably good antenna and a suitable receiver (so it can continuously receive at least a dozen satellites).
- Provide this equipment with correction data computed by a nearby RTK base so it can apply the same corrections and thus eliminate atmospheric distortions specific to the time and place.
-
RTK Network: the key to proper operation is, of course, having a base within reasonable proximity to any rover. This can be achieved either by installing your own bases in your working areas or by accessing networks of bases covering large territories. These networks may be open or private (with authentication and often paid access). In such a network, each base continuously reports observed distortions to a central distribution point (a “caster”). Each rover can then retrieve correction data from the nearest bases and apply it to its own positioning.
My choices
I quickly discovered the existence of the Centipede-RTK network, a collaborative and open-source RTK base network, fully aligned with the spirit of the digital commons ecosystem I had just entered through OSM: free, collaborative, open-source, open data. As of early 2026, the network includes nearly 1,200 bases, about half of them in France, covering most of the country. An active base is located about 15 km from my main mapping area (Villennes-sur-Seine), so I could reasonably rely on a rover connected to the existing network.
However, I did not hesitate long before deciding to install my own RTK base on the gable of my house and connect it to the Centipede-RTK network:
- it provides excellent accuracy in Villennes-sur-Seine
- it improves coverage southwest of Villennes-sur-Seine (previously somewhat lacking)
- it allows me to give back to the community some of what I benefit from through this free service
So:
- deploy an RTK rover (goal achieved in November 2025)
- deploy and integrate an RTK base into the Centipede-RTK network (goal achieved late November 2025)
- deploy a GoPro Max with the RTK rover (goal achieved mid-January 2026; see a future journal entry on Panoramax)
RTK Rover: choices, discoveries, learnings…
I’m somewhat of a geek as long as things remain intangible (math, software, etc.), but quite challenged when it comes to hardware (DIY, assembly, etc.). So I quickly ruled out building my own rover and directly purchased a commercial “surveying kit.”
Upon receiving it, I realized it did not match my needs: the kit includes an antenna and receiver, but also a survey pole with mounting options and a clamp system for attaching the receiver and a smartphone. I assume the idea is to plant the pole at the point to be geolocated and keep hands free.
I immediately stored the pole and mounting accessories in my garage (which I should not have bought if I had thought more carefully) and kept only the antenna and receiver.
I bought a telescopic photo pole and a threading adapter to mount the antenna, and placed it in my backpack (in the map/water pocket), leaving the receiver and a small 10,000 mAh power bank (more than sufficient) inside the backpack in a small plastic bag.
“Physical” observations
- if the pole is too thin, walking vibrations cause it to collapse and the antenna drops against the bag
- in all cases, a simple pole in a backpack has no lateral guidance and ends up leaning significantly left or right
- when I later added a GoPro, I used a second pole placed next to the first; both poles started oscillating laterally (sometimes in sync, sometimes not 🙂)
- the freedom of movement inside the backpack also creates unpredictable rotations around the vertical axis, which is not an issue for the antenna (symmetrical) but is problematic for GoPro images
The solution after several iterations:
Poles:
- for the antenna: 110 cm carbon handheld monopod
- for the GoPro: 2.7 m carbon GoPro pole (admittedly overkill, but since its collapsed length is 40 cm, I use it at ~1 m, avoiding vibration-induced collapse, and occasionally allowing higher positioning)
Lateral stabilization frame:
- bottom: dual-mount tripod plate
- top: two double pipe clamps (Ø22), connected with wire and tape
Rotation stabilization:
- add metal washers with locking tabs to prevent loosening
This frame, inserted into the backpack pocket, is perfectly stable. I position the GoPro 60–80 cm above the antenna to avoid interference with 360° images. Carbon poles prevent GNSS signal interference.
“Software” observations
- The receiver communicates via Bluetooth with the smartphone (free Lefebure NTRIP client), which connects to the Centipede caster (via IP) and injects positioning into the Android location API so all apps benefit from centimeter accuracy. The NTRIP client is not available on my de-Googled LineageOS phone—so I must use my Samsung phone… unfortunate, since it should technically work.
- The Samsung camera app produces erratic Exif positioning when NTRIP is active. The solution is simple: OpenCamera works perfectly.
RTK Base
Like the rover, I purchased a pre-assembled solution (from StephaneP, an OSM and Panoramax contributor).
The hardest part was physical installation. Not only am I not skilled in DIY, but I also have balance issues, so climbing a ladder was not an option. I hired a professional to mount the antenna on my roof gable, above the chimney and trees, then install the base in the attic and run an Ethernet cable to my fiber box.
He did not fully grasp the purpose (he understood precise positioning, but not why it needed to be continuous, since my house is supposed to stay put 🙂), but followed instructions and everything worked quickly.
Today the base is operational (Centipede-RTK station VLNS) and clearly useful to others—which was the goal.
Final thoughts
Base operational, rover operational.
Walking around with a backpack topped by two poles—one with a flying-saucer-shaped antenna, the other with a GoPro—sometimes attracts questions. I ended up creating a small flyer (tri-fold A4) answering three questions: “What are you doing?”, “Who do you work for?”, and “Why are you taking images?” It has been quite successful.
I also learned that I am taller with my setup than without (indeed!)—and tree branches or porches do not grow to compensate… So:
- watch above your line of sight
- position the GoPro sideways (to avoid unexpected impacts on lenses)
- even sideways, do not place the power button forward (a branch once turned my GoPro off)
And returning to RTK: remember that centimeter accuracy still requires satellite reception and IP connectivity (to query the caster), so nothing works in tunnels (typically short when walking). Therefore, once out of a tunnel, pause briefly to allow the NTRIP client to resynchronize and reposition.
These RETEX (feedback) journal entries describe my beginner choices, hesitations, discoveries, and questions. They reflect only my experience and are not WIKI entries. Some of these choices were discussed on the France forum, but not all. I remain open to comments and do not claim to provide recommendations here.
Discussion