Can I reset the GPS module from the command line?
This can be done with a cold reboot. Use;
echo -e -n "\xb5\x62\x06\x04\x04\x00\xff\xff\x02\x00\x0e\x61" > /dev/serial0
How do I tell the accuracy of my position?
The HDOP value can be used to determine the accuracy of the GPS position. Lower is better.
The HDOP can be seen when using gpsmon. The image below has HDOP highlighted;
The HDOP can also be found in the GSA sentence. Below it is shown as 1.3;
$GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39A HDOP value of 1 or below would give you an accuracy of about 2.5m.
See here for more information.
How do I change the update rate?
The NMEA sentence update rate can be increased to 10Hz(10 times a second). The default is 1Hz (Once a second).
When increasing the update rate, you will also need to increase the baud rate.
To change the baud rate to 115200;
echo -e -n "\xB5\x62\x06\x00\x14\x00\x01\x00\x00\x00\xD0\x08\x00\x00\x00\xC2\x01\x00\x07\x00\x03\x00\x00\x00\x00\x00\xC0\x7E" > /dev/serial0
If you need to update the speed on the Raspberry Pi serial port, you can use;
stty -F /dev/serial0 115200
To increase update rate to 2Hz;
echo -e -n "\xB5\x62\x06\x08\x06\x00\xF4\x01\x01\x00\x01\x00\x0B\x77" > /dev/serial0
To increase update rate to 5Hz;
echo -e "\xB5\x62\x06\x08\x06\x00\xC8\x00\x01\x00\x01\x00\xDE\x6A" > /dev/serial0
To increase update rate to 10Hz;
echo -e "\xB5\x62\x06\x08\x06\x00\x64\x00\x01\x00\x01\x00\x7A\x12" > /dev/serial0
In uCenter, the setting can be found under UBX -> CFG -> RATE

The UBX protocol is documented here.
I am seeing the message “More than 100 frame errors, UART RX was disabled”, what do I need to do to fix it?
If you see this message in the output from the GPS;
This is the GPS telling you that it is receiving data on the serial port, but it doesn’t recognize it.
The cause is most likely due to echo being enabled on the Raspberry Pi serial port.
Echo can be disabled with;
How can I put the GPS module to sleep via the command line?
The GPS module can be put to sleep by sending a UBX command to the GPS module.
To put it to sleep;
echo -e -n "\xB5\x62\x06\x57\x08\x00\x01\x00\x00\x00\x50\x4F\x54\x53\xAC\x85" > /dev/serial0
To wake it up;
echo -e -n "\xB5\x62\x06\x57\x08\x00\x01\x00\x00\x00\x20\x4E\x55\x52\x7B\xC3" > /dev/serial0
The UBX protocol is documented here.
How do I enable or disable specific NMEA sentences?
Below are the strings used to turn on or off specific NMEA sentences. This is done using the UBX protocol.
The first line for each sentence below is to disable the sentence and the second line is to enable it again
GxGSV
echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x03\x00\x00\x00\x00\x00\x00\x02\x38" > /dev/serial0 echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x03\x00\x01\x00\x00\x00\x00\x03\x3D" > /dev/serial0
GxVTG
echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x05\x00\x00\x00\x00\x00\x00\x04\x46" > /dev/serial0 echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x05\x00\x01\x00\x00\x00\x00\x05\x4B" > /dev/serial0
GxGLL
echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x01\x00\x00\x00\x00\x00\x00\x00\x2A" > /dev/serial0 echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x01\x00\x01\x00\x00\x00\x00\x01\x2F" > /dev/serial0
GxGSA
echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x02\x00\x00\x00\x00\x00\x00\x01\x31" > /dev/serial0 echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x02\x00\x01\x00\x00\x00\x00\x02\x36" > /dev/serial0
GxGGA
echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x00\x00\x00\x00\x00\x00\x00\xFF\x23" > /dev/serial0 echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x00\x00\x01\x00\x00\x00\x00\x00\x28" > /dev/serial0
GxRMC
echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x04\x00\x00\x00\x00\x00\x00\x03\x3F" > /dev/serial0 echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x04\x00\x01\x00\x00\x00\x00\x04\x44" > /dev/serial0
GxZDA
echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x08\x00\x01\x00\x00\x00\x00\x08\x60" > /dev/serial0 echo -e -n "\xB5\x62\x06\x01\x08\x00\xF0\x08\x00\x00\x00\x00\x00\x00\x07\x5B" > /dev/serial0
Below is where these can be found in uCenter.UBX->CFG->MSG
The UBX protocol is documented here.
How do I change the baud rate on the GPS module?
The baud rate can be changed by sending a UBX command to the
GPS module.
To change the baud rate to 115200;
echo -e -n "\xB5\x62\x06\x00\x14\x00\x01\x00\x00\x00\xD0\x08\x00\x00\x00\xC2\x01\x00\x07\x00\x03\x00\x00\x00\x00\x00\xC0\x7E" > /dev/serial0
If you need to update the speed on the Raspberry Pi serial port, you can use;
stty -F /dev/serial0 115200
To change back to 9600;
echo -e -n "\xB5\x62\x06\x00\x14\x00\x01\x00\x00\x00\xD0\x08\x00\x00\x80\x25\x00\x00\x07\x00\x03\x00\x00\x00\x00\x00\xA2\xB5" > /dev/serial0
The other baud rates are;
19200;
echo -e -n "\xB5\x62\x06\x00\x14\x00\x01\x00\x00\x00\xD0\x08\x00\x00\x00\x4B\x00\x00\x07\x00\x03\x00\x00\x00\x00\x00\x48\x57" > /dev/serial0
38400;
echo -e -n "\xB5\x62\x06\x00\x14\x00\x01\x00\x00\x00\xD0\x08\x00\x00\x00\x96\x00\x00\x07\x00\x03\x00\x00\x00\x00\x00\x93\x90" > /dev/serial0
57600;
echo -e -n "\xB5\x62\x06\x00\x14\x00\x01\x00\x00\x00\xD0\x08\x00\x00\x00\xE1\x00\x00\x07\x00\x03\x00\x00\x00\x00\x00\xDE\xC9" > /dev/serial0
Below is where this can be set using uCenter. UBX -> CFG -> PRT

The UBX protocol is documented here.