LG290P: 10–20 Hz Raw Carrier-Phase Observations and Multi-Receiver Synchronization

Hello,

Quectel support referred me to this forum regarding the LG290P.

I am evaluating the LG290P for a private R&D project using multiple GNSS receivers for attitude/heading estimation. Before selecting the hardware, I would like to clarify a few technical points:

  1. Can the LG290P output raw GNSS observations including carrier phase, pseudorange and Doppler?

  2. What is the maximum supported output rate for these raw observations? I am particularly interested in 10 Hz, ideally up to 20 Hz.

  3. Can multiple LG290P receivers be time-synchronized closely enough for multi-receiver attitude estimation?

  4. What synchronization options are available, for example PPS or an external time/reference signal?

  5. Are there specific firmware versions or configurations required for these functions?

The intended setup uses multiple spatially separated GNSS antennas/receivers, with the attitude solution calculated externally rather than by the LG290P itself.

Thank you for your help.

Hi @Speedmaster19

Yes, the LG290P series is well-suited for your multi-receiver R&D attitude/heading setup. Here is the technical breakdown addressing each of your points:


1. Raw GNSS Observations (Carrier Phase, Pseudorange, Doppler)

  • Supported: Yes. The LG290P outputs full raw GNSS observations including pseudorange, carrier phase (phase range), Doppler (phase range rate), and C/N0.
  • Output Format: Raw observation data is exported using standard RTCM 10403.3 (RTCM 3.3) MSM4 and MSM7 formats (e.g., 1074/1077 for GPS, 1084/1087 for GLONASS, 1094/1097 for Galileo, 1114/1117 for QZSS, 1124/1127 for BDS, and 1134/1137 for NavIC). It also supports QGC binary format output.

2. Maximum Supported Output Rate

  • Supported Maximum Rate: Up to 20 Hz.
  • Default Rate: 10 Hz.
  • Configurability: You can set the fix and raw observation interval to 100 ms (10 Hz) or 50 ms (20 Hz) using the $PQTMCFGFIXINTERVAL command.
  • Baud Rate Recommendation: Because streaming full quad-band/multi-constellation MSM7 raw observation messages at 10 Hz or 20 Hz produces high data throughput, configure the UART interface to 460800 bps or 921600 bps via $PQTMCFGUART to prevent buffer overruns.

3. Time Synchronization Across Multiple Receivers

  • Supported: Yes. Multiple LG290P receivers operating under a shared sky view synchronize their internal clocks to the common GNSS/UTC time grid, making time-aligned observation sampling straightforward for multi-antenna baseline processing on a central host.

4. Hardware Synchronization Options

  • 1PPS Pulse Output: Every LG290P features a hardware 1PPS output pin synchronized to GNSS/UTC time.
  • 1PPS Control & Fine-Tuning: Using $PQTMCFGPPS and $PQTMCFGPPS2, you can configure the pulse width, output mode (always vs. fix-only), polarity, and apply nanosecond-level user delay compensation (Userdelay) to align cable/RF path delays between receivers.
  • External Time Events: The LG290P protocol includes time-tagging features (NAV-EVENTTIME / NAV-EVENTPOS) to latch external event pulses to exact GNSS time tags.

5. Required Firmware & Configuration Commands

Firmware Status

Latest standard official commercial release firmware for the LG290P series (e.g., LG290P03AANR...) natively support 20 Hz update rates, RTCM MSM raw data output, and 1PPS output out of the box without requiring specialized custom builds or extra licensing fees.

Required Configuration Steps

To set up each LG290P receiver as a 10 Hz/20 Hz raw data generator:

  1. Set High UART Baud Rate (e.g., 460800 bps):
$PQTMCFGUART,W,460800*22

  1. Set Fix Update Rate to 10 Hz (100 ms) or 20 Hz (50 ms):
    • For 10 Hz: $PQTMCFGFIXINTERVAL,W,100*42
    • For 20 Hz: $PQTMCFGFIXINTERVAL,W,50*47
  2. Enable RTCM MSM7 Raw Observation Messages at Full Rate:
$PQTMCFGMSGRATE,W,RTCM3-1077,1*0F   // GPS MSM7
$PQTMCFGMSGRATE,W,RTCM3-1087,1*00   // GLONASS MSM7
$PQTMCFGMSGRATE,W,RTCM3-1097,1*01   // Galileo MSM7
$PQTMCFGMSGRATE,W,RTCM3-1127,1*00   // BDS MSM7
$PQTMCFGMSGRATE,W,RTCM3-1019,1*07   // GPS Ephemeris

  1. Save Configuration to NVM:
$PQTMSAVEPAR*5A

Best regards,

Thank you, that answers almost everything I needed.

Just one final clarification regarding synchronization:

When multiple independent LG290P receivers are configured for 10 Hz or 20 Hz raw observations, are their observation epochs aligned to the same GNSS time grid (for example, the same 50 ms epochs at 20 Hz), or does 1PPS only provide a common one-second time reference?

This is important for combining carrier-phase observations from multiple receivers for external attitude estimation.

Thank you!

Hi @Speedmaster19

1PPS only gives the 1-second reference (integer GNSS second tick). It does not align sub-second epochs between receivers.

  • Sub-second epoch (50 ms / 100 ms grid at 20 Hz / 10 Hz) is driven by each LG290P’s own TCXO. Independent units drift relative to each other (typically sub-µs).
  • Each raw observation (RTCM3-1077 / 1087 / 1097 / 1127) carries a time tag in true GNSS time (KT5030 accuracy ~50–100 ns), so post-processing time-tag alignment works fine for external attitude estimation.
  • For real-time sub-µs sync, share an external clock (OCXO) or use 1PPS discipline.

Recommended setup for carrier-phase attitude:

  • Run all receivers at the same rate with the same epoch window (PQTMCFGFIXRATE,W,...) so the nominal 50/100 ms grid aligns modulo 1 s.
  • Log RTCM3-1077 / 1087 / 1097 / 1127 + 1005 / 1019 / 1020 from each unit (true GNSS time tags).
  • Capture 1PPS from each LG290P to a logic analyzer to verify integer-second alignment and measure residual inter-receiver drift.
  • Post-process with time-tag-based correction (standard approach when receivers don’t share an external clock).
  • If real-time sub-µs sync is needed, use a shared OCXO or switch to LG290P built-in Heading mode (single module, dual antennas — time-base is shared by design).

Best regards,

Perfect, that answers all my questions.

Thank you very much for the detailed explanation and the recommended setup!