Getting Started

Last revision 2026/01/29

This article serves as a beginner's guide to data analysis, focusing on GPS and Beidou systems, the NMEA0318 protocol, and the significance of various data types and formats in positioning and satellite tracking.

Data Analysis

It is recommended to test this module in an outdoor open place since if the antenna is placed on a balcony, its signal may be influenced by the buildings around. The positioning can be done within one minute in open spaces. When the onboard LED keeps flashing at a regular frequency, the positioning is completed. The default baudrate is 9600. Now let us check the data in the serial monitor.

*$GNGGA,084852.000,2236.9453,N,11408.4790,E,1,05,3.1,89.7,M,0.0,M,,48

$GNGLL,2236.9453,N,11408.4790,E,084852.000,A,A*4C

$GPGSA,A,3,10,18,31,,,,,,,,,,6.3,3.1,5.4*3E

$BDGSA,A,3,06,07,,,,,,,,,,,6.3,3.1,5.4*24

$GPGSV,3,1,09,10,78,325,24,12,36,064,,14,26,307,,18,67,146,27*71

$GPGSV,3,2,09,21,15,188,,24,13,043,,25,55,119,,31,36,247,30*7F

*$GPGSV,3,3,09,32,42,334,43

$BDGSV,1,1,02,06,68,055,27,07,82,211,31*6A

$GNRMC,084852.000,A,2236.9453,N,11408.4790,E,0.53,292.44,1412
16,,,A7 5 $GNVTG,292.44,T,,M,0.53,N,0.98,K,A2D

$GNZDA,084852.000,14,12,2016,00,00*48

$GPTXT,01,01,01,ANTENNA OK*35

There are three data types in the data: GN, GP and BD, which respectively represent the dual-mode mode, GPS mode, and Beidou mode.

NMEA0318 protocol frame format content can refer to the following forms:

  • $GPGGA (GPS location information)
Num Name Example Unit Description
Message ID $GPGGA GGA protocol header
<1> UTC Position 161229.487 hhmmss.sss
<2> Latitude 3723.2475 ddmm.mmmm
<3> Latitude Direction N N=north or S=south
<4> Longitude 12158.3416 dddmm.mmmm
<5> Longitude W E=east or W=west
<6> Position Fix Indicator 1 0: Fix not avilable or invalid
1: GPS SPS Mode, fix valid
2: Differential GPS, SPS Mode, fix valid
3: GPS PPS Mode, fix valid
<7> Number of satellites in use 07 Range 00 to 12
<8> Horizontal dilution of precision 1.0 Range: 0.5-99.9
<9> Sea level height 9.0 meters Range: -9999.9-9999.9
<10> Units M M stands for meter
<11> Geoid Separation meters Range: -999.9-9999.9
<12> Units M M stands for meter
<13> Age of correction data Seconds Empty when no differentoal data is presented
<14> Diff. Ref. Station ID 0000 Range: 0000-1023 (empty when no differential data is presented)
hh Checksum 18 Checksum of all characters ASCII codes between $ and *
(XOR each byte to get checksum, then convert it into ASCII characters in hexadecimal )
CR LF End of protocol frame
  • $GPGLL (Geographic Position Information)
Num Name Example Units Description
Message ID $GPGLL GLL protocol header
<1> Latitude 3723.2475 ddmm.mmmm
<2> Latitude Direction N N: north; S: south
<3> Longitude 12158.3416 dddmm.mmmm
<4> Longitude Direction W W: west; E: east
<5> UTC Position 161229.487 hhmmss.sss
<6> Data Statu A A=data valid; V=data invalid
hh Checksum 2C
  • $GPGSA (Current Satellites Information)
Num Name Example Unit Description
Message ID $GPGSA GSA Protocol Data header
<1> Position Mode A M: manually; A: automatically
<2> Posistion Type 3 1: fix not available
<3> PRN code number of satellite used on Channel 1 07 PRN(Pseudo Random Noise) Range: 01~32, can receive 12 satellites information at most.
<4> PRN code number of satellite used on Channel 2 02 Same as above
<5> PRN code number of satellite used on Channel 3 26 Same as above
<6> PRN code number of satellite used on Channel 4 27 Same as above
<7> PRN code number of satellite used on Channel 5 09 Same as above
<8> PRN code number of satellite used on Channel 6 04 Same as above
<9> PRN code number of satellite used on Channel 7 15 Same as above
<10> PRN code number of satellite used on Channel 8 Same as above
<11> PRN code number of satellite used on Channel 9 Same as above
<12> PRN code number of satellite used on Channel 10 Same as above
<13> PRN code number of satellite used on Channel 11 Same as above
<14> PRN code number of satellite used on Channel 12 Same as above
<15> HDOP(Position Dilution Precision) 1.8 Range: 0.5-99.9
<16> HDOP(Position Dilution Precision) 1.0 Range: 0.5-99.9
<17> HDOP(Position Dilution Precision) 1.5 Range: 0.5-99.9
hh Checksum 2C
CR LF End of protocol frame
  • $GPGSV (Satellites in View)
Num Name Example Unit Description
Message ID $GPGSV GSV protocol header
<1> Number of Messages 2 Range: 1 to 3
<2> Message Serial Number 1 Range: 1 to 3
<3> Satellites in View 07 Range: 00-12
<4> Satellite ID 07 Range: 01-32
<5> Elevation 79 Degree Range: 00-90
<6> Azimuth Azimuth Degree Range: 000-359
<7> SNR (C/No) 42 dBHz Range 0 to 99, null when not tracking
<4> Satellite ID 02 Range: 01-32
<5> Elevation 51 Degree Range: 00-90
<6> Azimuth 062 Degree Range: 000-359
<7> SNR (C/No) 43 dBHz Range 0 to 99
<4> Satellite ID 26 Range: 01-32
<5> Elevation 36 Degree Range: 00-90
<6> Azimuth 256 Degree Range: 000-359
<7> SNR (C/No) 42 dBHz Range 0 to 99
<4> Satellite ID 27 Range: 01-32
<5> Elevation 27 Degree Range: 00-90
<6> Azimuth 138 Degree Range: 000-359
<7> SNR (C/No) 42 dBHz Range: 0 to 99
hh Checksum 71
CR LF End of protocol frame
  • $GPRMC (Minimum GNSS Data)
Num Name Example Unit Description
Message ID $GPRMC RMC Protocol Header
<1> UTC Position 161229.487 hhmmss.sss
<2> Position Status A A: position; V: navigation
<3> Latitude 3723.2475 ddmm.mmmm
<4> Latitude Direction N N: north; S: south
<5> Longitude 12158.3416 dddmm.mmmm
<6> Longitude W W: west; E: east
<7> Speed Over Ground 0.13 Knots Range: 000.0-999.9
<8> Course Over Ground 309.62 Degree Taking due north as the reference datum, the two-dimensional direction points, which is equivalent to a two-dimensional compass
<9> Data Status A A: data valid; V: data invalid
<10> Magnetic Variation Degree Range: 000-180
<11> Magnetic declination direction E: east; W: west
hh Checksum 10
CR LF End of protocol frame
  • $GPVTG (Ground Speed Information)
Num Name Example Unit Description
Message $GPVTG VTG protocol header
<1> Course Over Ground 309.62 Degree Taking due north as the reference datum, the two-dimensional direction points, which is equivalent to a two-dimensional compass
<2> T True north reference system
<3> Magnetic Variation Degree
<4> M Magnetic north reference system
<5> Speed over ground 0.13 Knots Range: 000.0-999.9
<6> N Knots
<7> Horizontal velocity 0.2
<8> K km/h
hh Checksum 6E
CR LF End of protocol frame
  • Antenna Status Output

    $GPTXT,01,01,01, ANTENNA OK*35

    "Ok" means that the antenna has been detected, and "open" represents the antenna is disconnected.

  • UTC time and Current time in Beijing

    $GNGGA,084852.000,2236.9453,N,11408.4790,E,1,05,3.1,89.7,M,0.0,M,,*48

    The numbers in bold represent UTC time. Its format is hhmmss.sss. The three digits after the decimal point should be omitted so the numbers above means that it is 08:48:52.

    UTC + Time Zone Difference = Local Time

    The time of eastern zone is positive, the western zone is negative. The time in Beijing follows the time offset of UTC+08:00 so the current time in Beijing is 16:48:52.

  • Format of latitudes and longitudes

$GNRMC,084852.000,A,2236.9453,N,11408.4790,E,0.53,292.44,141216,,,A*7 5

Data format: ddd°mm.mmm’ Convert to the format of Google or Baidu Map.
Latitude: ddmm.mmmm, Northern Latitude 2236.9453,22+(36.9453/60)= 22.615755
Longitude: dddmm.mmmm, East Longitude 11408.4790,114+(08.4790/60)=114.141317

(10) Description of hot start, warm start and cold start

The Cold Start refers to the process of starting GPS in an unfamiliar environment until it connects with the surrounding satellites and calculates coordinates.

The following three situations are all cold start:

  1. Use for the first time;

  2. Ephemeris information lost due to batterry depletion;

  3. Move the receiver more than 1000km in power off state. That is to say, the cold start is a mandatory start-up through hardware. When the GPS has cleared the internal positioning information since the last operation, and the GPS receiver has lost satellites parameters, or the navigator cannot work properly because existing parameters because the existing parameters are too different from the actual received satellite parameters, it is necessary for GPS to obtain the new coordinate data provided by the satellite. A vehicle startting a navigation from a basement is cold start. This is also the reason why it takes a long time to search for satellites from the basement.

Warm start refers to the start-up more than 2 hours from the last positioning time. The positioning time is between cold start and hot start.
If you have used GPS positioning one day ago, the first startup of next day belongs to warm start, and the last position information will be displayed after startup. The latitude, longitude and altitude of the last operation are known, but since the shutdown time is too long, the ephemeris has changed and the previous cannot accept it. Several satellittes in the parameters have lost contact with the GPS receiver and have to continue searching for additional position information. Therefore, searching time for warm start is longer than that of hot start and shorter than cold start.

When starting GPS at the place where it was shut down last time, and the time from last positioning time is less than 2 hours, it is hot start. Some preparation work such as saving and closing can be done by software.

Was this article helpful?

ON THIS PAGE

TOP