GR-M02 GNSS Aiding (A-GNSS) Support: Time, Position, Almanac & Ephemeris
Quote from anonymous on July 8, 2026, 9:14 amI’d like to know whether the GR-M02 supports any GNSS aiding features to reduce Time to First Fix (TTFF).
Specifically, does the module support any of the following via the serial interface?
- Setting the initial date and time
- Setting an approximate initial position (latitude/longitude)
- Uploading almanac data
- Uploading ephemeris data
If these features are supported, could you please provide the relevant commands or documentation?
Thank you!
I’d like to know whether the GR-M02 supports any GNSS aiding features to reduce Time to First Fix (TTFF).
Specifically, does the module support any of the following via the serial interface?
- Setting the initial date and time
- Setting an approximate initial position (latitude/longitude)
- Uploading almanac data
- Uploading ephemeris data
If these features are supported, could you please provide the relevant commands or documentation?
Thank you!
Quote from GPSWebShop Official on July 8, 2026, 9:22 am* Setting the initial date/time via the serial interface
->Please see following command
[Packet Type]
590
[Command]
PAIR_TIME_SET_REF_UTC
[Supported Chips]
AG3335 / AG3353 / AG3365
[Note]
This configuration will not keep in the flash or RTC RAM. Please send this command every time after the GNSS subsystem or main power reboots.
[Description]
Send current UTC time to GNSS chip for faster TTFF.
Please do not use local time which has a time-zone offset
For a faster TTFF, the accuracy of reference UTC is better if it is less than 3 seconds.
[Data Field]
$PAIR590,<YYYY>,<MM>,<DD>,<hh>,<mm>,<ss>*CS<CR><LF>
YYYY year > 1980 UTC time: year in 4 digits
MM month 1 - 12 UTC time: month
DD day 1 - 31 UTC time: day
hh hour 0 - 23 UTC time: hour
mm minute 0 - 59 UTC time: minute
ss second 0 - 59 UTC time: second
[Return]
- PAIR_ACK for send result.
[Example]
1 Send:
2 $PAIR590,2019,2,10,9,0,58*0B\r\n
3 Response:
4 $PAIR001,590,0*37\r\n ==> Success
* Setting an approximate initial location via the serial interface
->Please see following command[Packet Type]
600
[Command]
PAIR_LOC_SET_REF
[Supported Chips]
AG3335 / AG3353 / AG3365
[Note]
This configuration will not keep in the flash or RTC RAM. Please send this command every time after the GNSS subsystem or main power reboots.
This command will get a failed response if GNSS-SubSys does not power on. You can get the GNSS-SubSys status by PAIR_GNSS_SUBSYS_GET_STATUS.
[Description]
Send reference location to GNSS chip for faster TTFF.
[Data Field]
$PAIR600,<Latitude>,<Longitude>,<Height>,<AccMaj>,<AccMin>,<Bear>,<AccVert>*CS<CR><LF>
Latitude: reference latitude in degrees
Longitude: reference longitude in degrees
Height: reference height in meters
AccMaj: semi-major RMS accuracy [m]
AccMin: semi-minor RMS accuracy [m]
Bear: Bearing in degrees [Range: 0~179 degrees]
AccVert: Vertical RMS accuracy [m]
[Return]
- PAIR_ACK for send result.
[Example]
1 Send:
2 $PAIR600,24.772816,121.022636,175.0,50.0,50.0,0,100.0*18\r\n
3 Response:
4 $PAIR001,600,0*3D\r\n ==> Success
* Uploading almanac or ephemeris data
->We do implement this function in our tracker products. However, this function is limited by our NDA with chip vendor. We are not able to open related documents.If yes, do we have any documentation or command reference for these features?
->We will add above two commands in our next data sheet release.
* Setting the initial date/time via the serial interface
->Please see following command
[Packet Type]
590
[Command]
PAIR_TIME_SET_REF_UTC
[Supported Chips]
AG3335 / AG3353 / AG3365
[Note]
This configuration will not keep in the flash or RTC RAM. Please send this command every time after the GNSS subsystem or main power reboots.
[Description]
Send current UTC time to GNSS chip for faster TTFF.
Please do not use local time which has a time-zone offset
For a faster TTFF, the accuracy of reference UTC is better if it is less than 3 seconds.
[Data Field]
$PAIR590,<YYYY>,<MM>,<DD>,<hh>,<mm>,<ss>*CS<CR><LF>
YYYY year > 1980 UTC time: year in 4 digits
MM month 1 - 12 UTC time: month
DD day 1 - 31 UTC time: day
hh hour 0 - 23 UTC time: hour
mm minute 0 - 59 UTC time: minute
ss second 0 - 59 UTC time: second
[Return]
- PAIR_ACK for send result.
[Example]
1 Send:
2 $PAIR590,2019,2,10,9,0,58*0B\r\n
3 Response:
4 $PAIR001,590,0*37\r\n ==> Success
* Setting an approximate initial location via the serial interface
->Please see following command
[Packet Type]
600
[Command]
PAIR_LOC_SET_REF
[Supported Chips]
AG3335 / AG3353 / AG3365
[Note]
This configuration will not keep in the flash or RTC RAM. Please send this command every time after the GNSS subsystem or main power reboots.
This command will get a failed response if GNSS-SubSys does not power on. You can get the GNSS-SubSys status by PAIR_GNSS_SUBSYS_GET_STATUS.
[Description]
Send reference location to GNSS chip for faster TTFF.
[Data Field]
$PAIR600,<Latitude>,<Longitude>,<Height>,<AccMaj>,<AccMin>,<Bear>,<AccVert>*CS<CR><LF>
Latitude: reference latitude in degrees
Longitude: reference longitude in degrees
Height: reference height in meters
AccMaj: semi-major RMS accuracy [m]
AccMin: semi-minor RMS accuracy [m]
Bear: Bearing in degrees [Range: 0~179 degrees]
AccVert: Vertical RMS accuracy [m]
[Return]
- PAIR_ACK for send result.
[Example]
1 Send:
2 $PAIR600,24.772816,121.022636,175.0,50.0,50.0,0,100.0*18\r\n
3 Response:
4 $PAIR001,600,0*3D\r\n ==> Success
* Uploading almanac or ephemeris data
->We do implement this function in our tracker products. However, this function is limited by our NDA with chip vendor. We are not able to open related documents.
If yes, do we have any documentation or command reference for these features?
->We will add above two commands in our next data sheet release.
Quote from anonymous on July 8, 2026, 9:52 amyour answer on forum is a bit incorrect, the device does not like the example command.With tries I was able to feed this line$PAIR600,24.772816,121.022636,175,50,50,0,100*18
this is the reply by device:$PAIR001,600,0*3 D..$PAIR600,24.7 72816,121.022636 ,175,50,50,0,100 *18..Could you please fix it, so other people will not struggle.
$PAIR600,24.772816,121.022636,175,50,50,0,100*18
$PAIR001,600,0*3 D..$PAIR600,24.7 72816,121.022636 ,175,50,50,0,100 *18..
Quote from GPSWebShop Official on July 9, 2026, 9:19 amThanks for pointing this out! You’re correct.
$PAIR001,600,0*3D..$PAIR600,24.772816,121.022636,175.0,50.0,50.0,0,100.0*18
The “..” is non-printable <CR><LF> or 0D 0A in hexadecimal. Normally, it looks like below if <carriage return> and <line feed> were correctly set in terminal tool.
$PAIR001,600,0*3D
$PAIR600,24.772816,121.022636,175.0,50.0,50.0,0,100.0*18
Thanks for pointing this out! You’re correct.
$PAIR001,600,0*3D..$PAIR600,24.772816,121.022636,175.0,50.0,50.0,0,100.0*18
The “..” is non-printable <CR><LF> or 0D 0A in hexadecimal. Normally, it looks like below if <carriage return> and <line feed> were correctly set in terminal tool.
$PAIR001,600,0*3D
$PAIR600,24.772816,121.022636,175.0,50.0,50.0,0,100.0*18
