RTK between LC29H(DA) and LC29H(BS)

I bought the LC29H(DA) and LC29H(BS) (from waveshare store) and try to setup the RTK configuration. As far as I understoon I just need to write the raw RTCM data from BS to DA (please note I check that the binary data starts with the appropriate marker 0xD3 and BS survey-in is completed). But the DA module is still in the GPS SPS Mode. I check all available documantation and didn’t get any explanation about configuration. I’m also try to use the free RTK caster and the result the same. All available information that I can gater from modules:
LC29H(BS) Params:
Version: LC29HBSNR11A01S,2023/02/13,10:14:06
Commands source: Quectel_LC29H(BS)_GNSS_Protocol_Specification_V1.1
PAIR_RTCM_GET_OUTPUT_MODE ($PAIR433) => $PAIR433,1 : Enable outputting RTCM-3 MSM7 messages

LC29H(DA) Params:
Version: LC29HDANR11A01S_RSA,2023/03/02,12:43:39
Commands source: Quectel_LC29H_Series&LC79H(AL)_GNSS_Protocol_Specification_V1.2
PAIR_COMMON_GET_FIX_RATE ($PAIR0513E) => $PAIR051,100013 : Range 1000
PAIR_COMMON_GET_MIN_SNR ($PAIR05936) => $PAIR059,923 : Minimum SNR threshold of satellites in use: 9
PAIR_COMMON_GET_NMEA_OUTPUT_RATE ($PAIR063,0) => $PAIR063,0,13E : NMEA_SEN_GGA: 1ppm (positions per message)
($PAIR063,1) => $PAIR063,1,1
3F : NMEA_SEN_GLL: 1ppm
($PAIR063,2) => $PAIR063,2,13C : NMEA_SEN_GSA: 1ppm
($PAIR063,3) => $PAIR063,3,1
3D : NMEA_SEN_GSV: 1ppm
($PAIR063,4) => $PAIR063,4,13A : NMEA_SEN_RMC: 1ppm
($PAIR063,5) => $PAIR063,5,1
3B : NMEA_SEN_VTG: 1ppm
PAIR_COMMON_GET_STATIC_THRESHOLD ($PAIR0713C) => $PAIR071,0.03E : Static navigation speed threshold: 0.0
PAIR_COMMON_GET_ELEV_MASK ($PAIR0733E) => $PAIR073,527 : Satellite elevation mask: 5
PAIR_COMMON_GET_AIC_STATUS ($PAIR07538) => $PAIR075,125 : Status of AIC function: Enabled
PAIR_COMMON_GET_NAVIGATION_MODE ($PAIR08133) => $PAIR081,02F : Navigation mode: Normal mode
PAIR_COMMON_GET_DEBUGLOG_OUTPUT ($PAIR08735) => $PAIR087,029 : Debug log disabled
PAIR_COMMON_GET_NMEA_OUTPUT_MODE ($PAIR1013A) => $PAIR101,1,03B : Output mode of standard NMEA sentences: ASCII NMEA 0183 V4.10
PAIR_COMMON_GET_DUAL_BAND ($PAIR1053E) => $PAIR105,123 : Status of the Dual Band feature: enabled
PAIR_DGPS_GET_MODE ($PAIR4013F) => $PAIR401,122 : DGPS data source: RTCM
PAIR_SBAS_GET_STATUS ($PAIR4113E) => $PAIR411,123 : Status of SBAS satellite search: Enabled
PAIR_RTCM_GET_OUTPUT_MODE ($PAIR4333E) => $PAIR433,-10E : RTCM output mode setting: Disabled
PAIR_RTCM_GET_OUTPUT_EPHEMERIS ($PAIR4373A) => $PAIR437,026 : Status of outputting satellite ephemeris: Disabled
PAIR_EASY_GET_STATUS ($PAIR49136) => $PAIR491,02A : Looks like invelid response
PAIR_RAW_GET_STATUS ($PAIR83130) => $PAIR831,02C : Raw measurement output setting: Disabled

Please provide a suggestion where I’m wrong.
Best regards

Hi Sckomoroh,

I guess you didn’t set up a Survey-in mode for LC29HBS base station. If the base station doesn’t have a fixed coordinate, it can’t be a reference for rover, and rover can’t get a RTK fix.

For example,(1) if you know the coordinate of the BS antenna, you can set
$PQTMCFGSVIN,W,2,0,0.0,-2472446.4619,4828304.1363,3343730.2653*34 -->with specific ECEF coordinate

And save your configuration by:

(2)If you don’t know the coordinate of the BS antenna, you can set a Survey-in Mode. And wait for BS survey-in duration in open sky. The coordinate will fixed after survey-in duration passed.
Setting like: $PQTMCFGSVIN,1,43200,15,0,0,0*68
43200 seconds equals to 12 hours. This duration time is suggested for long-term installed base station. You can set a shorter duration like 300 seconds when you are debugging.

I will send you a document about how to set up RTK feature.

Best regards.

Hello Raphael-Q

Thanks a lot for your support, my problem was in the incorrect survey-in result. After survey-in completes, the location of the base station was in 6km of rover, so I set the base station location manually with correct location and this fixed my issue

Best regards

Hi Sckomoroh,

How long is the duration of survey-in you set?

Please make sure the base station is working in open sky, so that it will have accurate correction data for rovers.

Best regards.

I think I figured out the issue. Thanks, I set to 60000. A fix only counts if its accuracy is less than <3D_AccLimit>. I set <3D_AccLimit> to 1 thinking it meant that the final accuracy needed to be < 1m, but that is not what it means. This is not at all clear from the protocol description. It also seems that the survey in does not stop after seconds. It stops after it has collected samples that have an error <= <3D_AccLimit>.

Regards, Stephen

Hi Stephen,

You are right. It is recommended to set <3D_AccLimit> = 15.0 as default value. If <3D_AccLimit> is too low, that means the error tolerance is very low.

Best regards.


I am trying to obtain RTK with LC29H BA. I am using a public RTK base station which provides RTCM 3.x messages. The corrections were validated using another GNSS system.

I used the software from Quectel to obtain the NTRIP corrections and tested it with LC29H BA and another GNSS system.

The outside system obtains RTK is a few seconds. With Quectel module nothing happens. What could I be doing wrong? Do I need to configure something in LC29H ?

Hi Luis,

Please check the firmware that currently use on LC29HBA by sending: $PTMVERNO*58.

Please confirm that if the correction data from base station is supported by LC29HBA

Did you make RTK fix working with other RTK base station?

Did you see “$PQTMTXT,1,01,01,03,This version is not licensed, please
contact FAE.*7C” from the serial port?

Best regards.

Dear Raphael,

Thank you for the response.

As you see in the image below, after sending the $PTMVERNO*58 command I got the response:


which I assume that means that the module has the correct firmware version installed (I did not install it myself).

I confirmed that the base station I am using (you can also see details on the image below) is compatible with the RTCM messages 1085, 1095, and 1075.

Even so, the module never enters in RTK mode.

From “$GNGGA” the Fix Type is always set to 1.

Can you please help me achieve RTK mode?

Do I need another firmware version?..

Thanks in advance,

Luís Santos.

Hi Luis,

I will send you the latest LC29HBA firmware via message. The current firmware on your module is an old version.

Besides, please try 2101 port on your side. Maybe 2102 port outputs GNSS coordinate which is not WGS-84 coordinate.

Best regards.

Hi Raphael,

Thank you for your assistance!

I am in the process of updating the firmware version and conducting tests. I’ve opted for port 2102 due to its compatibility with messages 1075, 1085, and 1095.

On the contrary, port 2101 exclusively provides GPS and Glonass messages, neither of which is listed among the “Supported RTCM input messages” (1004 and 1012).

Concerning the WGS 84 format, I’ve encountered a bug within the interface. I’m uncertain whether this issue might be affecting the RTK functionality. Specifically, the longitude data appears incorrect: 41.1789, -83.095. Given that I’m in Portugal, this longitude value is evidently inaccurate. However, the NMEA data retrieved in the field, specifically &GNGLL, appears correct. It seems the interface fails to account for the initial ‘0’ in 00835.70.

Hi Raphael,

The new firmware version solved the problem.

Thank you for your assistance!

Hi Raphael, I have the same problem. Could you send me the latest firmware? There is a new one for the DA card too? Thanks

Hi Luis, can you send me the updated firmware? Thanks in advance.

(post deleted by author)

Hi Raphael,

Thank you again for sharing the updated firmware.

We are also going to test LC29HEAMD module. Could you please share the most recent firmware for this module?

Thank you!

Mmmm my module has LC29HBSNR11A01S firmware version… It is different from the one from Luis. @Raphael-Q , any updates for my version? Regards