C’est fait, cela fonctionne. J’ai créé une issue sur Github de RTK base avec toutes la configuration, mais je ne peux pas insérer un lien sur le forum vers Github.
La réception n’est pas idéale car je n’ai pas encore placé le récepteur à son emplacement définitif.
Sinon, je colle une copie ici de mon post, pour les personnes intéressées:
**********************************
After investigation, here is a complete summary of everything needed to get the LG290P working with RTKBase.
1. LG290P configuration
Install Raspberry Pi OS 64bit lite using Raspberry Pi Imager (avoid 32bit, as it may be abandoned some day). You may use a USB key as it is more durable than CF. You don’t need to boot under Windows. Stay under Linux and use SSH to connect to your RTK base OS.
Use picocom with --omap crcrlf — without this option the module silently ignores all commands:
sudo apt update
sudo apt install pico com
sudo picocom -b 460800 --omap crcrlf /dev/ttyACM0
Then send these commands one by one:
$PQTMCFGRCVRMODE,W,2*29
$PQTMCFGMSGRATE,W,RTCM3-1019,1*54
$PQTMCFGMSGRATE,W,RTCM3-1020,1*5E
$PQTMCFGMSGRATE,W,RTCM3-1042,1*5A
$PQTMCFGMSGRATE,W,RTCM3-1046,1*5E
$PQTMCFGMSGRATE,W,GGA,1*0A
$PQTMCFGMSGRATE,W,RMC,1*17
$PQTMCFGMSGRATE,W,GLL,1*0C
$PQTMCFGMSGRATE,W,VTG,1*0E
$PQTMCFGMSGRATE,W,GSA,1*1E
$PQTMCFGMSGRATE,W,RTCM3-1005,0*58
$PQTMSAVEPAR*5A
$PQTMSRR*4B
Note: disabling RTCM 1005 is intentional — RTKBase injects its own 1005 from the base coordinates set in Settings.
2. Base position — use fixed position mode
Survey-in mode (mode 1) has a firmware bug where the counter gets stuck after a few epochs. Use fixed position mode (mode 2) with ECEF coordinates instead. Get approximate ECEF coordinates from a short survey-in run, then set them permanently:
$PQTMCFGSVIN,W,2,0,0,,,*
$PQTMSAVEPAR*5A
$PQTMSRR*4B
Example with approximate coordinates near Noyon, France:
$PQTMCFGSVIN,W,2,0,0,4134900.0000,220000.0000,4835000.0000*XX
$PQTMSAVEPAR*5A
$PQTMSRR*4B
3. RTKBase settings (Settings → Main Service)
- Com port: /dev/ttyACM0
- Com port settings: 460800:8:n:1
- Receiver: LG290P
- Receiver format: rtcm3 (lowercase — see bug #1 below)
- Receiver options: (empty)
- Base coordinates: 49.5797 2.9997 50.00 (example near Noyon, France)
4. Bugs found in RTKBase 2.7.0 on Raspberry Pi OS Trixie
Bug #1 — receiver_format case sensitivity (critical)
RTKBase writes RTCM3 (uppercase) in settings.conf but server.py line 607 compares against a lowercase list. This prevents rtkrcv from ever starting. Fix:
sed -i "s/receiver_format='RTCM3'/receiver_format='rtcm3'/" ~/rtkbase/settings.conf
Note: the web UI will rewrite it as RTCM3 again if you save Settings — reapply the fix after each save. A proper fix would be to make the comparison case-insensitive in server.py line 607.
Bug #2 — rtkbase_raw2nmea.service conflicts with RTKBase internal rtkrcv
rtkbase_raw2nmea.service occupies port 5014 and prevents RTKBase from launching its own rtkrcv instance (which also needs port 5014). Disable it permanently:
sudo systemctl disable --now rtkbase_raw2nmea.service
Bug #3 — rtkbase_ppp-static_default.conf uses ubx format instead of rtcm3
The default rtkrcv config file has inpstr1-format=ubx. RTKBase should override this dynamically but fails because of the case sensitivity bug above. Fix:
sed -i 's/inpstr1-format.*=ubx/inpstr1-format =rtcm3/' ~/rtkbase/web_app/rtklib_configs/rtkbase_ppp-static_default.conf
5. Python 3.13 / Raspberry Pi OS Trixie note
gevent 25.4.2 produces a non-fatal AssertionError in AbstractLinkable with Python 3.13. This is a known gevent upstream bug but does not prevent RTKBase from running — it can be safely ignored.
Hope this helps others trying to use the LG290P with RTKBase!