I’m trying to implement some of my own code to read my GPS and I noticed the checksums were really high. I looked back at my initial test of the GPS and found I was getting high errors then too.
Upon further research I found that the SoftwareSerial port is getting constant buffer overflows – data is coming out of the GPS faster than the GPSTinyPlus library can decode it.
My u-blox GPS came with the baud rate set to 9600 baud. I lowered that to 4800 baud and I am able to process the GPS output with no errors.
DIAGS Chars=37808 Sentences-with-Fix=78 Failed-checksum=87 Passed-checksum= 508
Using a baud rate of 4800 has an error rate of only 15%. With a baud rate of 9600, the error rate was 62%.
To change the baud rate, first I bring up the text console to verify I have good connectivity:
Now go to View | Messages View
In the Messages Tree, go to UBX | CFG | PRT and change the baud rate to 4800.
Now click on send to do an update:
At this point, the text console should stop because the baud rate has changed. Change the baud rate for u-center:
The text console should start showing messages again, indicating you have connectivity. Now save the changes to flash:
And finally do the following: