Google Chat:---
+86-0755-88291180
sales@spotpear.com
dragon_manager@163.com
tech-support@spotpear.com
zhoujie@spotpear.com
WhatsApp:13246739196
WhatsApp:13424403025
The LG290P GNSS RTK Module is a quad-band, multi-constellation GNSS RTK module that supports the L1, L2, L5 and E6 frequency bands, compatible with GPS, BDS, GLONASS, Galileo, QZSS and NavIC satellite systems. Based on a high-performance GNSS SoC architecture, it integrates professional-grade interference detection and cancellation algorithm to effectively mitigate multiple narrow-band interferences, maintaining high sensitivity and strong anti-jamming performance even in complex electromagnetic environments. Through multi-frequency observations and RTK real-time differential algorithm, it significantly reduces multipath errors and enables centimetre-level high-precision positioning. With its small size and castellated holes design, this module boasts a rich set of interfaces, and is easy to integrate, making it an ideal choice for high-precision navigation applications such as intelligent robots, precision agriculture, mining, surveying and mapping, and autonomous driving.
| Model | LG290P GNSS RTK Module | LC29H(AA) GPS HAT | LC29H(DA) GPS/RTK HAT | LC29H(BS) GPS/RTK HAT | ZED-F9P GPS-RTK HAT | |
|---|---|---|---|---|---|---|
| Frequency Band | GPS: L1 C/A, L1C*, L5, L2C GLONASS: L1, L2 | GPS/QZSS: L1C/A, L5 BDS: B1I, B2a | GPS/QZSS: L1C/A, L2C BDS: B1I, B2I | |||
| Number of Concurrent GNSS | 5 + QZSS | GPS/QZSS + BDS + Galileo + GLONASS | ||||
| SBAS | WAAS, EGNOS, BDSBAS, MSAS, GAGAN and SDCM | WAAS, EGNOS, MSAS and GAGAN | - | WAAS, EGNOS, MSAS and GAGAN | ||
| RTK Function | RTK Rover and Base | - | RTK Rover | RTK Base | RTK Rover and Base | |
| Positioning Accuracy | PVT | 0.7m CEP | 1m CEP | - | 1.5m CEP | |
| RTK | 0.8cm + 1ppm CEP | - | 0.01m + 1ppm CEP | - | 0.01m + 1ppm CEP | |
| Navigation Update Rate | PVT | Default: 10Hz Max.: 20Hz | 1~10Hz | - | 1~10Hz | |
| RTK | - | 1Hz | - | 1~8Hz | ||
| RAW | 1Hz | 1~20Hz | ||||
| RTK Convergence Time (Open Outdoor Test) | <5s | - | <10s | - | <10s | |
| Time to First Fix (AGNSS Off) | Cold Start | 28s | 26s | - | 24s | |
| Hot Start | 1.7s | 1s | - | 2s | ||
| Warm start | 28s | 16s | - | 2s | ||
| Time to First Fix (EASY on) | - | 2s | - | |||
| Time to First Fix (AGNSS On) | Cold Start | - | 5s | - | TBD | |
| Hot Start | - | 5s | - | TBD | ||
| Warm Start | - | 5s | - | TBD | ||
| Sensitivity | Tracking and Navigating | -160dBm | -165dBm | -167dBm | ||
| Re-acquisition | -155dBm | -159dBm | -157dBm | -159dBm | -160dBm | |
| Cold Start | -146dBm | -147dBm | -145dBm | -147dBm | -148dBm | |
| Velocity Accuracy | 0.03m/s | 0.2m/s | - | 0.05m/s | ||
| PPS Accuracy | 5ns | 20ns | - | 30ns | ||
| Dynamic Performance | Acceleration (Max): 4g | |||||
| Altitude (Max): 10000m | Altitude (Max): 50000m | |||||
| Velocity (Max): 490m/s | Velocity (Max): 500m/s | |||||
| Communication Interface | USB, UART(4800~921600bps, 460800bps by default) | UART(9600~3000000bps, 115200bps by default), I2C(Max 400KHz) | USB, UART(4800~921600bps, 9600bps by default), I2C(Max 400KHz), SPI(5MHz) | |||
| Communication Protocol | NMEA 0183/RTCM 3.x | NMEA 0183 V4.10, RTCM 3.x | NMEA 0183 V4.10, UBX, RTCM 3.3 | |||
| Power Supply | 5V | |||||
| Overall Current | <100mA@5V (Continue mode) | <40mA@5V (Continue mode) | <120mA@5V (Continue mode) | |||
| Operating Temperature | -40~85℃ | |||||
| Dimensions | 33 × 33 (mm) | 65 × 30.5 (mm) | ||||

| Left Pins | Function | Right Pins | Function |
|---|---|---|---|
| 5V | 5V power supply positive | 5V | 5V power supply positive |
| GND | Power ground | GND | Power ground |
| 3V3 | 3.3V power supply positive | 3V3 | 3.3V power supply positive |
| PWR | Module power control pin | GND | Power ground |
| RXD2 | UART2 RX, for RTCM differential input | RXD3 | UART3 RX, for channel debugging |
| TXD2 | UART2 TX, outputs base-station differential data | TXD3 | UART3 TX, supports NMEA output |
| SCL | I2C clock (reserved) | RST | Module reset pin |
| SDA | I2C data (reserved) | PPS | 1PPS pulse output |
| RTK | RTK status output | EVENT | Event output signal, used for position / time-tag triggers |

The full name of GNSS is Global Navigation Satellite System, which refers to multiple satellite systems. Currently, there are BDS (China), GLONASS (Russia), GPS (United States), Galileo (Europe), QZSS (Japan), IRNSS (India) navigation satellite systems in the world. The characteristics of GNSS are as follows:
With the development of GNSS, various positioning technologies such as RTK, PPP-RTK, and multi-sensor fusion positioning DR (Dead Reckoning) have emerged, meeting differentiated high-precision positioning needs.
This section briefly describes the working principle of GPS receiver positioning, as shown in the figure below. Detailed descriptions are provided in 5 points.


RTK (Real Time Kinematic), also known as carrier phase differential technology, is a GNSS positioning technology that supports centimeter-level positioning accuracy (referred to as RTK) and is a differential method for real-time processing of the carrier phase observations of two measuring stations. The working process of RTK is shown in the figure below. The DGPS corrections generated by the base station (GNSS receiver) are transmitted to the mobile station (GNSS receiver) in real-time through the mobile network for calculation and centimeter positioning.
RTK Rover refers to the use of the LG290P module as a mobile station, connecting and receiving RTCM data streams from services like Qianxun Positioning (China mainland) or other reference base station service provider to achieve high-precision centimeter-level positioning.
RTK Base refers to using the LG290P as a base station to establish a CORS (Continuous Operational Reference System), providing RTCM data streams to other devices, thereby enabling real-time centimeter-level positioning for those devices.
This section is the introduction to quick setup and use of LG290P series modules using QGNSS software on Windows PCs. For detailed instructions on using QGNSS software, please refer to the Quectel_QGNSS_User_Guide_V3.2.pdf file from QGNSS_2.2.zip
Download and double-click to install CH343 Windows VCP driver
Address: ntrip.geodetic.gov.hk Port: 2101 Mount Point: HKCL_32 Username: Leave blank Password: Leave blank
6️⃣click Update NTRIP Source Table, 7️⃣ select HKCL_32 node, 8️⃣turn on ON, the button turns green, and the communication with the base station is successful. NTRIP Client prints the following information:
Received (14)bytes from server : ICY 200 OK
Wait for 2-15 minutes until the latitude, longitude, and Float RTK prompts appear in the Data View window on the right to achieve RTK positioning, 9️⃣Open the deviation chart to see the positioning accuracy

Configure the My mount points from the above image to the base station, and configure the My rovers parameters to the mobile station
ADDRESS: 164.90.243.252 PORT: 2101 MOUNT POINT: MP24981d PASSWORD: 62XXXX
Connect to caster success ICY 200 OK;

#Configure module working mode to base station mode $PQTMCFGRCVRMODE,W,2*29 #Command executed successfully $PQTMCFGRCVRMODE,OK*64 #Save configuration $PQTMSAVEPAR*5A #Command executed successfully $PQTMSAVEPAR,OK*72 #Restart the module (either by sending the relevant command or by pin reboot of the hardware RESET_N, using the command to restart here) $PQTMSRR*4B #Waiting for the module to power on #Configure the base station Survey-in mode, with 60 positioning (convergence) times, and a 3D location accuracy threshold of 15.0 meters) $PQTMCFGSVIN,W,1,60,15.0,0,0,0*3E #Command executed successfully $PQTMCFGSVIN,OK*70 #Configure PQTMSVINSTATUS through PQTMCFGMSGRATE to output once per positioning to view Survey-in status (this step is optional) $PQTMCFGMSGRATE,W,PQTMSVINSTATUS,1,1*58 #Command executed successfully $PQTMCFGMSGRATE,OK*29 #Save configuration $PQTMSAVEPAR*5A #Command executed successfully $PQTMSAVEPAR,OK*72 #Restart the module (either by sending the relevant command or by pin reboot of the hardware RESET_N, using the command to restart here) $PQTMSRR*4B #Output the mean base station convergence ECEF coordinates via RTCM3-1005 (this statement is output by default when the module is in base station mode) D3 00 13 3E D1 22 03 3B 54 97 DA 6F 8C 99 B2 AF 40 06 4C FC 1A 4B 1E 7D F1 #View the convergence mean of the ECEF coordinates of the base station from the start of the convergence to the completion of the convergence via PQTMSVINSTATUS (this step is optional and it is recommended to turn off the output of the statement after the convergence is complete) $PQTMSVINSTATUS,1,291264000,1,,11,1,60,-2005560.2218,5411825.5447,2706139.7061,1.8691*0C $PQTMSVINSTATUS,1,291265000,1,,11,2,60,-2005560.1264,5411824.9421,2706139.6738,4.9992*09 $PQTMSVINSTATUS,1,291266000,1,,11,3,60,-2005560.1137,5411824.5510,2706139.6722,4.3119*0B $PQTMSVINSTATUS,1,291267000,1,,11,4,60,-2005560.2000,5411824.9447,2706140.0627,1.3000*04 … $PQTMSVINSTATUS,1,291320000,1,,11,57,60,-2005559.8625,5411823.2315,2706139.4103,1.7206*36 $PQTMSVINSTATUS,1,291321000,1,,11,58,60,-2005559.8577,5411823.2160,2706139.4067,1.6716*3A $PQTMSVINSTATUS,1,291322000,1,,11,59,60,-2005559.8530,5411823.2016,2706139.4032,1.7830*31 $PQTMSVINSTATUS,1,291323000,2,,11,60,60,-2005559.8481,5411823.1873,2706139.3995,1.8075*3F $PQTMSVINSTATUS,1,291324000,2,,11,60,60,-2005559.8481,5411823.1873,2706139.3995,1.8075*38 $PQTMSVINSTATUS,1,291325000,2,,11,60,60,-2005559.8481,5411823.1873,2706139.3995,1.8075*39 #After convergence is completed, close PQTMSVINSTATUS via PQTMCFGMSGRATE $PQTMCFGMSGRATE,W,PQTMSVINSTATUS,0,1*59 #Command executed successfully $PQTMCFGMSGRATE,OK*29 #Save configuration $PQTMSAVEPAR*5A #Command executed successfully $PQTMSAVEPAR,OK*72 #Restart the module (either by sending the relevant command or by pin reboot of the hardware RESET_N, using the command to restart here) $PQTMSRR*4B
ADDRESS: 164.90.243.252 PORT: 2101 MOUNT POINT: MP24981d USERNAME u92454 PASSWORD: 35XXXX

This section is an example of testing instructions using a Raspberry Pi and an LG290P HAT; in fact, Linux operating systems are largely similar, and they can also be adapted to common Linux series motherboards like Jetson and RDK. Tested under an open, clear ☀️ sky, the more open and clearer the weather ☀️, the more accurate the RTK positioning

wget https://files.waveshare.com/wiki/LG290P-GNSS-RTK-Module/Demo/LG290P-GNSS-RTK-Module-Demo.zip sudo unzip LG290P-GNSS-RTK-Module-Demo.zip cd LG290P-GNSS-RTK-Module-Demo/Raspberry_Pi/Python/RTK_Rover/ sudo python3 web_rtk.py

http://192.168.10.10:5000

Windows systems can use STRSVR to upload base station information to the server. For Linux systems, you can refer to the following steps to install the rtkbase tool to upload the server. Here, the Raspberry Pi is used as an example for testing. The testing steps for Linux hosts such as Jetson are similar, and the demo can be shared:
https://github.com/Stefal/rtkbase git clone https://github.com/Stefal/rtkbase.git cd rtkbase/tools sudo ./install.sh --all release



//Connect ESP to WiFi to enable access to base station server data const char* ssid = "mate60"; //Hotspot SSID const char* wifiPassword = "131433"; //Corresponding password // ---------- NTRIP(Here is an example of Hi-Target CORS, modify the following parameters accordingly)---------- const char* ntripHost = "120.253.226.97"; const int ntripPort = 8001; const char* mountpoint = "RTCM33_GRCEJ"; const char* ntripUser = "cvmh11286"; const char* ntripPass = "fyxxx";






For more detailed steps, please refer to this Github open-source solution
Monday-Friday (9:30-6:30) Saturday (9:30-5:30)
Email: services01@spotpear.com