Beginner question on RTCM on LC29

Hello,

sorry for asking a probably naive question. I aquired an LC29H(EA) module and I want to feed RTCM2.3 messages received via NTRIP to the module.
I did not find any detailed information on how to do that - so can I pipe the raw payload that I receive via NTRIP over the serial line to the module? Or is there any particular setting I have to make first? A pointer to a small documentation or manual would also be appreciated.

Thanks alot for your help!
Harry

Hi HarryDE
I will send you the relevant information via message.

I’m having the same question. I’m using an EC25-E module to connect to an NTRIP server and receive RTCM3.X corrections. I’m controlling the EC25-E module with an MCU via UART. Additionally, I have an LC29H-DA module connected to the same MCU, and I want to send the RTCM corrections to it via UART. However, I haven’t found any information on how to configure the LC29H-DA module to receive RTCM corrections over UART. I’m also unsure about the format or method needed to transfer the RTCM corrections received from the EC25-E module to the LC29H-DA. How can I do it?

Thanks for the help!

Hi Iñigo, the most direct way is to use str2str of rtklib
Naturally you must know the port and baudrate of the LC29H module connected to the mcu…
However what did you use to receive corrections,describe better what environment is on the mcu…

Hi! Could you please send me the information as well?

Thank you very much!!

Thank you very much for your quick response! I’m not sure if that’s exactly what I need. Let me explain: Thanks to a module called EC25-E, I connect to an NTRIP server to receive corrections in RTCM format. Now my questions are:

  1. How do I need to configure the LC29H-DA module to be in RTK mode so that it accepts RTCM corrections as input via UART?
  2. In what format or in what way should I send the RTCM data stored on the MCU?

Hi @inigo_casadevante
After acquiring RTCM through EC25-E, the acquired RTCM can be passed to the LC29HDA module, so that the LC29HDA module can enter RTK.

I have two LC29H-DA modules configured as rover, with a distance difference between them of 25 meters. The RTCM corrections received with the position of the first module, are useful for the second module that is 25 meters away? Can both enter in RTK Fixed mode with the same RTCM correction even if the distance between them is 25 meters?

Hi @inigo_casadevante
I don’t quite understand your description.

  1. Is the RTCM obtained by your EC25-E from the network?
  2. You are now planning to use the data of EC25-E to transmit to two modules 25m apart.
  3. If your RTCM data is obtained from the network, where is the base station of the network RTCM? The effective range of the base station is generally about 10km to 20km. Receivers within this range can use the RTCM data of this base station for RTK.

I receive RTCM corrections via the EC25-E module which is connected to an NTRIP server. To receive RTCM corrections I have to send to the NTRIP server the location of one of the LC29H-DA modules.
I don’t know how far away are the station bases, but I know that by sending the location of one of the rovers, it enters in fixed mode. My doubt is if sending the same correction to the other LC29H-DA module that is located 25 meters away, it can also enter in fixed mode. Or is it necessary to send the location of this module to receive another different correction from the server?

Hi @inigo_casadevante
If you send the same data to another module, the other module also needs to send its location to the server (the module can complete this process by itself and no operation is required).

Hi! I’m thinking about purchasing a LC29h(aa) module for a base station. Is it possible to use this model for such a purpose? As far as I can see, it outputs RCTM messages (including MSM4&7) for corrections (I know, it won’t receive such messages / has no internal RTK). Are there any limitations regarding those RCTM messages in respect to RTK for an other receiver (thinking about a LC29h(da)) ?

Thank you for your response.

LC29HAA is a standard L1L5 module that is capable to output RTCM stream but it did not include the survey option that is needed for generate reliable RTK corrections.

LC29HBS should be used since it has a dedicated FW that output RTCM by default and also support special commands for Survey.

LC29HDA is RTK 1Hz that if you inject RTCM messages from LC29HBS it will reach RTK fix (cm level accuracy).

I hope it helps!
Regards,
C

1 Like

Thanks a lot, help is always welcome! As far as I understand, the survey option is a way to self-determine the position of the receiver? I took a look into the protocol specification, it says there is this option available for all Lc29h models. So the limitation comes from the fact that there is no active calculation of the positional deviation within the receiver? So it won’t / can’t send this information via RCTM message? Is there a way to calculate these data outside the receiver (software lake RTCLib)?

Sorry for the many questions, I’m still new to this tech and have so far only a basic understanding. I’m specifically asking about this module since it is advertised as a base station for RTK application (you can find it e.g., on Aliexpress). Is this false advertisement or just a simplification?

It would appear that the LC29HAA does not support the survey-in function $PQTMCFGSVIN that would allow it to support the RTCM3-1005 message, which indicates the position of the base station, and is required. So, although the spec says it supports RTCM3-1005 message, without the $PQTMCFGSVIN command, there would be no way to set the base station position for this message.

1 Like

I see, that’s bad. It’s a bit confusing since the same manual lists all the RTCM messages the module series is or can put out (including 1005). But if there is no way to activate it in this module, how can it be used as a base station? Is it possible to deliver the position of the antenna to an external processor like RTKlib?

I think the LC29HAA is the most basic module and intended for use as a basic Rover only. However, if you use it with RTKBase software, the RTCM3-1005 message can be generated by RTKBase, so that may be one way around it, assuming it can send the other RTCM3 (107x, 108x, 109x, 112x) messages…

Yes, it is a basic (rover) module, but maybe it can be used as a basic base :wink: Thanks for the hint, I found out that RTKlib can do an “Average of Single Position” from position data
Will read further and may try it myself.

BTW: what about MSM output? Do they contain any station data, esp. ARP?

Hi Otto & Seng-Poh, the module can be set as a base and transmit rtcm output data…
You need to consider pair commands instead of pqtm…
Quectel has diversified the LC29H series to make it easier to use without having to apply too many $PAIR commands with the introduction of $PQTM commands that can group even several pair commands at once.
However, regardless of the methods used, a common strategy used for all GNSS receivers is the implementation of the rtcm protocol and the reading of nmea sentences.
For a receiver to output its precise position, it needs the rtcm corrections. They can come from a ntrip_caster which can be a dump gnss module in a fixed position, having known coordinates and transmitting its position, navigation and ephemeris via the rtcm protocol.LC29H_AA can do this but needs some specific commands.
I don’t have the AA version anymore but;
if the firmware version does not support $PQTMCFGRCVRMODE,W,2*29 # set receiver to base mode try to set the module to full rtcm output…remember to save and restart after every single command to take effect:
set at 1Hz,$PAIR050,1000*12

$PAIR382,1*2E → Test command for lock system sleep enabled
$PAIR003*39 → power off GNSS system
$PAIR863,0,0*37  ask& get bit_mask  **note it for recovery**
$PAIR862,0,0,239*22  bit mask for rtcm output only
$PAIR511*3F   Save current navigation data from RTC RAM to flash
$PAIR513*3D  Save the current configurations from RTC RAM to NVM.
$PAIR023*3B   reboot  module
ask if bitmask is saved after reboot $PAIR863,0,0*37

if not try to set at 1Hz,$PAIR050,1000*12 disable nmea sentences and enable rtcm $PAIR436 & $PAIR432 only
send rtcm module’s data to rtklib as a rover for define base solution… choose a ntrip as base.
Set the solution as base in lo.la,hi $PAIR604 see 2.3.129 Packet Type:604

$PAIR062,1,0*3F  Disable GLL sentence.
$PAIR062,2,0*3C  Disable GSA sentence.
$PAIR062,3,0*3D  Disable GSV sentence
$PAIR062,4,0*3A
$PAIR062,5,0*3B ; Disable VTG sentence.
$PAIR062,0,1*3F  turn on GGA nmea
$PAIR434,1*24 ==> set RTCM3.x output with message type 1005
$PAIR436,1*26 ==> set RTCM3.x output with satellite ephemeris
$PAIR432,1*22 ==> set RTCM3.x output with type MSM7

https://forums.quectel.com/uploads/short-url/gJTnPOK8MkEJIgLFR7QgjvrpUey.pdf

1 Like

Hi Marco, thanks for the clarification. I know the LC29HAA can send RTCM3 messages, but without the ability to do a survey-in or to set a fixed fixed position for the base location, it will need some help from something like RTKBase in order to send an accurate RTCM3-1005 location, no?