Need a base station. Want to leverage all of UM982 potential.
Local LFPS ntrip service delivers only MSM4 and afaik not all bands supported by UM982.
Show dropouts and allow only one connection per account.
Their terms of use are somewhat restrictive, and they charge I think 50 € every second year for admin fees.
My plan:
- UM980 complete kit
- RTKBase (current version is 2.6.3)
- debian 12 on Fujitsu futro S900 x86 hardware
- short SMA, UM980 module in a somewhat unaccessible location, 10 m active USB to the computer
str2str
as ntrip-caster in a managed root internet server
This is the kit I bought:
‘Unicore UM980 GNSS Module EM-980 Seires board EM-980D1 D2 D3 D4 D5 Multi-frequentie Hoge Precisie RTK Voor GNSS RTK Basisstation - AliExpress 30’
EM-980D5 board with EM-500 antenna and 5m cable for < 170 €.
Had discouraging experience with the stability of RasPi long ago.
The user reports in Stefal’s RTKBase thread indicate that affairs didn’t grow to the better.
Got a bunch of refurbished S900 for < 30 € each (including case and power supply).
They have a 1.2 GHz AMD G-T44R and consume << 4W (no fan).
Solid PC-style mainboard/chipset layout, GB NIC, couples of independent USB.
Basically the same components as used in laptops.
Have some of those spread around my premises, running stable for years.
There were 920 (4 core, 4W) and larger models (with fan and much more power need), but let’s try single core first.
“GitHub - Stefal/rtkbase: Your own GNSS base station for RTK localization with a Web GUI” recommends debian 12.
Fine, that’s what I’ve running on a couple of boxes already.
The UM98x-support sounds promising.
I don’t like the python, would never install such a thing on a production machine beneath other applications. But since I need a dedicated box close to the antenna, anyway, that’s not the issue.
Decided for an 8 GB m-SATA (was that a mistake?) and 4.5 GB RAM.
A pristine debian with just basic tools and ssh-server already consumes 1.3 GB.
Stefal’s install.sh
works like a charm.
Had my UM980 plugged during setup, so it was configured automagically. Great.
Just pointed the browser to the box, and alas, lots of satellites and a cursor moving to my home.
df
reports 2.3 GB=39 % disk usage. Let’s keep an eye on disk space.
I found that the rtklib
executables (str2str
in particular) run on my (ubuntu) managed-root internet server. In contrast to the rtklib 2.4.3 coming with even recent debian and ubuntu, it’s supposed to supply ntrip-caster. Stefal mentions this option in his thread.
‘RTKBase: a GUI for your own Gnss Base Station’
Let’s see.
Precise antenna coordinates raise some challenge.
Since I want repeatable tracks in cm-precision, after months, even if I had to change or move the antenna inbetween, PPP is not enough.
The Rinex-postprocessing seems cumbersome, at least I haven’t found yet a service indicating covering Germany.
But I have alread RTK in place, so why not use that (just forgetting to read LFPS terms and conditions …)?
RTKlib’s rtkplot_qt
somehow does not like the NMEA from UM980 testruns, however.
So I hacked a PERL-Skript to average coordinates from GGA sentences, logged with BNG ntrip client:
‘perl-nmea/get_center.pl at master · wolfgangr/perl-nmea · GitHub’
After ~ 5 hours, standard deviation of position stabilizes at < 4mm horizontally and 8 mm vertically
total lines processed: 131768
lat cnt: 18824 - lon cnt: 18824 - alt cnt: 18824
skipped: 112944 - qual miss: 0 - format errors: 0
lat - cnt: 18824 - sum: 645.746446 - sum of squares: 2.215196e+01
min: 49.98430427650 - max: 49.98430454183 - diff: 0.00000026533
average: 49.98430442231 - stddev: 0.00000003480
diff = 29.5 mm; stdev = 3.9 mm
lon - cnt: 18824 - sum: 187.586161 -isum of squares: 1.869346e+00
min: 12.25996513150 - max: 12.25996539983 - diff: 0.00000026833
average: 12.25996526568 - stddev: 0.00000003743
diff = 19.2 mm; stdev = 2.7 mm
alt - cnt: 18824 - sum: 2093.422700 - sum of squares: 2.339311e+02
min: 554.4772 - max: 554.5400 - - diff: 0.0628
average: 554.5112 - stddev: 0.0077
diff = 62.8 mm; stdev = 7.7 mm
One thing that was not clear for me was Stefal’s recommendation to go for local UTM coordinate systems.
In his thread, he mentions that coordinate system can easily configured, but I don’t find how.
Anyway, isn’t it that WGS84 ist GNSS lingua franca?
Or ist continental drift spoiling my repeatable antenna position?
Regarding altitude, compared to the first postitons from RTKlib, the altitude converged towards a value about 50 m above my sea level (geoid?) altitude, so I think it ist WGS ellipsoid altitude that is required and I have to add the offset reported quite at the end of any GGA sentence.
I think that precision is fine for the test antenna & mount.
Have to repeat that with the final mount anyway.
However, I planned to keep the module in an unaccessible location, connected by 10 m active USB-cable to a powered HUB.
It took me some time to reconfigure the module back to rover mode.
And I don’t want to install the BNG on my 8GB Futro.
So I had to unplug an repower the module - requiring access.
May be I’ll drop that long USB cable and have a 10m SMA-cable instead.
What about connecting modules COM2 to a second USB-UART and use this for NMEA and maybe even RTK? Does this conflict with BASE mode?