LC29H(XX) GPS/RTK HAT

Ich wollte nur einige Tests mit dem GPS mit einem ESP32 und NTRIP durchführen, aber ich konnte keine Firmware finden, die stabil genug wäre. Daher bleibt die Raspberry Pi-Lösung mit RTKBase, da dies wahrscheinlich die einfachste Testmöglichkeit ist – zumindest denke ich das, da ich in diesem Bereich keine Erfahrung habe.

Ich habe auch über diese App nachgedacht, um das GPS in Bewegung zu testen:
How to use Ardusimple products with SW Maps on Android smartphones/tablets
 
Hello everyone,

A short report on the LV29HEA RTK GPS, which promises 10Hz, but I couldn't achieve RTK-Fix at that rate. However, at 5Hz, I was able to achieve it, and it seems stable.

Here’s a configuration that worked successfully in my tests. I’m sharing it here to help others as well.

1740839995462.png

Not all settings are necessary, but for testing, I had to enable a few things to make sure the communication worked as expected.

Since I couldn't find an easy solution online for testing, I wrote a program for an ESP32 that communicates with my phone via Bluetooth. This was necessary because the LC29HEA only works at 460800 baud rate...
  • GPS → ESP32 @ 460800 baud rate
  • ESP32 → Phone @ 115200 baud rate
The ESP32 can also communicate via UART, but I still need to refine that version.

1740840037643.png1740840043039.png

On iPhone, I used the SW MAPS application.
On Android, I used the GNSS Master application.

So far, my experience shows that this GPS is suitable for use in a rover at 5Hz.
For NTRIP, I used Centipede, as it provided the most stable connection.

1740840089873.png1740840317415.png


The repeatability accuracy I observed is between 2-3 cm.
 

Attachments

Videos showing the performance of the module:




 
Videos showing the performance of the module:






Hi,


What you shared is very good, but it's not entirely accurate. The module in the first link is not really recommended, because it spends more time in RTK float than in RTK fix, and it's only capable of 1Hz, which is very low.


The modules in the 2nd and 3rd links are the same ones I shared as well (LC29HEA). These are capable of achieving stable RTK fix at 5Hz. However, I uploaded a configuration that really makes it work stably. With the configs provided in those links, I couldn't reach the stability I needed.


The module in the 4th link is also not suitable for RTK fix — at least not stably. When in motion, it stays in RTK float, and getting it back to RTK fix is nearly impossible.


There are many versions of the LC29H, but only the ones ending in EA can achieve stable RTK fix at 5Hz. (Since then, I’ve made some modifications and got it working quite stably even at 7Hz.)
 
Hey,
i am trying to connect my Quetzel LC29HEA board with an esp32. Unfortunately every time i wanted to print everything the module is printing i got nothing. I know sounds a bit stupid. but i tried al lot (baud rate, tx/rx pins). i tested my module in qgnss, (a quetzel gnss software) and it worked perfectly (baud 460800). (i tested every time without rtk-correction, but i also want the esp32 + module to give me anything at first) anyone with experience in such case? sorry for my bad english
 
Hi.
I don't have acces to NTRIP ,because no base station near my house.
So.
I test actually one config with:
1 LC29HBS as base station connected to esp32 Lora dev kit (correction data are send over LORA).
1 LC29HEA as rover connected to another esp32 lora (correction are receive over lora).

Nothing is inside the mower and i test inside my house,but i can have rtk float and rarely fix if i put antenna outdoor, so it's OK.
Antenna i receive from Ali is not good actually, and i have order another one.

For LC29HEA you need to put the esp32 baudrate to 460800 (console and serial) and upload a basic sketch to redirect all data to serial port.

here the basic sketch to test the module (ESP32 work as ftdi).
Change the 2 pin RX and TX according your wiring.

Code:
// ESP32 UART2 (RX = GPIO16, TX = GPIO17) connecté au module LC29HEA
HardwareSerial GNSS(2);

void setup() {
  Serial.begin(460800);                        // USB <-> PC
  GNSS.begin(460800, SERIAL_8N1, 17, 13);      // UART2 : RX=GPIO16, TX=GPIO17
  Serial.println("Passerelle série bidirectionnelle active (LC29HEA <-> PC)");
}

void loop() {
  // ↠ Module GNSS → PC
  while (GNSS.available()) {
    Serial.write(GNSS.read());
  }

  // ↞ PC → Module GNSS
  while (Serial.available()) {
    GNSS.write(Serial.read());
  }

ALSO TAKE CARE ABOUT the 2 switchs on the board : To use UART adjust them up in direction of usb connector.
Invert RX and TX if it's not OK.
 
Last edited:
Hello everyone,

A short report on the LV29HEA RTK GPS, which promises 10Hz, but I couldn't achieve RTK-Fix at that rate. However, at 5Hz, I was able to achieve it, and it seems stable.

Here’s a configuration that worked successfully in my tests. I’m sharing it here to help others as well.

View attachment 1804

Not all settings are necessary, but for testing, I had to enable a few things to make sure the communication worked as expected.

Since I couldn't find an easy solution online for testing, I wrote a program for an ESP32 that communicates with my phone via Bluetooth. This was necessary because the LC29HEA only works at 460800 baud rate...
  • GPS → ESP32 @ 460800 baud rate
  • ESP32 → Phone @ 115200 baud rate
The ESP32 can also communicate via UART, but I still need to refine that version.

View attachment 1805View attachment 1806

On iPhone, I used the SW MAPS application.
On Android, I used the GNSS Master application.

So far, my experience shows that this GPS is suitable for use in a rover at 5Hz.
For NTRIP, I used Centipede, as it provided the most stable connection.

View attachment 1809View attachment 1810


The repeatability accuracy I observed is between 2-3 cm.
very interestig post, can you be more dtailed on correct environment to build code for esp32 ? and, if I can, version that use serial port is at good point ? thank you, in advance if you can reply...
 
Hi @adamant you commented you found a update firmware to LC29HEA in a forum, could you share the link to it?
I don't understand why doesn't Quectel include an automatic firmware update feature inside QGNSS, if will avoid half of the issues that people are facing with these modules! 🙃
 
last post

Thanks, @Bernard, for sharing your expertise and experience. Yes, then I could have ordered an EA, but now I have to do my tests with the DA when it arrives :(, and as I said, centimeter-precise positioning isn't so important to me. In the Moment my RoπLawnMow runs ~ 0.3m/s. Faster is possible, but this is in the moment my best working speed for tests and degugging. If I use 1Hz, then I can always use the ODO metric data for the gaps between. and yes its my own Firmware based on python on a Pi3+
Where did you order your modules?
 
last post

Thanks, @Bernard, for sharing your expertise and experience. Yes, then I could have ordered an EA, but now I have to do my tests with the DA when it arrives :(, and as I said, centimeter-precise positioning isn't so important to me. In the Moment my RoπLawnMow runs ~ 0.3m/s. Faster is possible, but this is in the moment my best working speed for tests and degugging. If I use 1Hz, then I can always use the ODO metric data for the gaps between. and yes its my own Firmware based on python on a Pi3+
Where did you order your modules?
On Aliexpress,
Base station :
Don't forget the antenna ,so it's near 60 eur.

Rover:

And better antenna for Rover:


 
Last edited:
Thx a lot Bernard
Have you ever tested the accuracy of the LC92H EA without an RTK correction signal? If so, what are your experiences?
without an RTK correction signal i think it's near 2 or 3 meters.
Using QGNSS software you can test the module into your area
 
I’ve attached the firmware. It’s very important that you use the QGNSS 1.1 program; with that, the configuration is quite stable.


You can find lots of information here:
LINK
 

Attachments

Ich wollte nur einige Tests mit dem GPS mit einem ESP32 und NTRIP durchführen, aber ich konnte keine Firmware finden, die stabil genug wäre. Daher bleibt die Raspberry Pi-Lösung mit RTKBase, da dies wahrscheinlich die einfachste Testmöglichkeit ist – zumindest denke ich das, da ich in diesem Bereich keine Erfahrung habe.

Ich habe auch über diese App nachgedacht, um das GPS in Bewegung zu testen:
How to use Ardusimple products with SW Maps on Android smartphones/tablets
Hi @adamant, thx for providing your firmware. In the GPS area I am a Newbe, so every hints a welcome. If I read the lat lon from your screenshot, you are based in Hungary, right? And do you have a running RTK Solution with LC29HEA and a Raspberry Pi ?
I will start with simple tests, to compare the accuracy of TAU-1201 without RTK, vs LC29HDA without RTK and the same LC29HDA with Correction Data of the SAPOS Service in Germany. After these tests I will decide which solution I will use for my RoπLawnMow
I hope that I get the GPS Modules next week.
 
Hallo, Danke für euren Support bisher,
ich habe am Samstag mein LC29H-DA bekommen mit einer einfachen Antenne Gain 28dBi / 23dBi
Nun ist es mir doch glatt gelungen mit Hilfe von CHatGPT ein python Script zu erstellen, welches die aktuellen Lat Lon Daten an unseren NTRIP Server in NRW schickt, die Korrekturdaten einsammelt und an das LC29H-DA zurückgibt. Damit erreiche ich einen RTK-Fix. Das ganze läuft auf einem Pi 3+ und benötigt ca 15% CPU Last.
In dem Video kann man sehr geht sehen wie er von einem 3DFix nach start des Scriptes über einen RTK-Float zum RTK-Fix "einrastet":
Das nächtes wäre nun, dass ich durch den Garten mit dem Empfänger laufe und da mal schaue wie stabil die Werte sind.
Im Video kann man sehr gut sehen wie er nach 3 Sekunden von 3D in RTK-Float wechselt und nach 17 Sekunden in RTK-Fix springt.
Der Punkt den er dort anzeigt ist direkt an dem Gbäude siehe Foto
View attachment RTK-MAP.mp4
Antenne.jpg
Hier noch das python Script. Es gibt aber noch viele Fragen, die ich habe, z.b. wie fährt man dann von A nach B Wer macht die Spurkontrolle Kompass oder RTK ......
Aber das Reultat finde ich schon mal hier sehr gut.
Gruß Ulli
 

Attachments

Back
Top