DMR: Obtaining faster GPS lock

It is commonly observed that the GPS is slow to lock.

The GPS module as used in 868/878 is a dual GPS & BDS (BeiDou – Chinese equivalent to GPS with worldwide coverage) sensor, and it is configured to check not only L1 frequency for GPS, but also E1, E2, E5a, E5b and E6 frequencies for BDS.

That is a lot more work for the module to do and explains why it is a bit slow to get an initial position lock.

878 firmware versions permit the user to choose GPS only, BDS only or both systems used together.

For the 868 this mod has to be done in order to to speed up obtaining a position fix by selecting just GPS or BDS, but not both together.

For those who want to upgrade to later firmware versions, you can still make this selection with a bit of work each time you upgrade the firmware.

The GPS module uses standard NMEA text strings, and the configuration for the GPS module is sent by the MCU from plain text instructions stored in the firmware.

If you use a hex editor to search for the NMEA command text $PCAS04,3 and change that text to $PCAS04,2 for BDS only or $PCAS04,1 for GPS only, you will speed up the time to get a position lock quite a bit, from typically 134 seconds to less than 30 seconds when outside.

You only have to change the 3 to a 2 or a 1 depending on which one you want to use.

After you make the change make sure you save the file.

This also translates to slightly improved lock times when GPS signals are weak such as inside a house or inside a vehicle.


Good Luck