31. May 2018 · Write a comment · Categories: Embedded Hardware · Tags: , , , ,

This blog is the sequel of the previous blog on Geo positioning system technologies. Here we will discuss more in detail about the important terms related to GPS receivers and guidelines for selecting suitable GPS receiver module for embedded system design.

GPS Receiver

Connection diagram for GPS module

GPS Module – Connection Diagram

The above picture depicts the typical connection diagram of GPS module with any host controller. There are multiple interface options available for a host controller to receive the NMEA data where UART, SPI and USB are most common. PPS signal is an output from GPS and it is discussed in detail in the upcoming sections. Most of the GPS modules have internal patch antenna but also supports external active antenna connection.


 NMEA (National Marine Electronics Association) data is the detailed output from any GPS receiver that includes the current location data of the receiver such as Latitude, longitude, altitude etc. This data is provided in a standard format to the user for compatibility with various manufacturers much like ASCII standard for digital computer characters.

Following is the example of a NMEA message from a GPS receiver,


All the NMEA message starts with a $ character where each field is separated by a comma.

“GP” in GPGGA – represent that it is a GPS position. For GLONASS, it will be GL instead of GP.

GPGGA is a basic GPS NMEA message and many other NMEA messages are also available providing similar or additional information beside GPS coordinates. There are 19 different NMEA messages and they are listed below,

  1. $GPBOD – Bearing, origin to destination
  2. $GPBWC – Bearing and distance to waypoint, great circle
  3. $GPGGA – Global Positioning System Fix Data
  4. $GPGLL – Geographic position, latitude / longitude
  5. $GPGSA – GPS DOP and active satellites
  6. $GPGSV – GPS Satellites in view
  7. $GPHDT – Heading, True
  8. $GPR00 – List of waypoints in currently active route
  9. $GPRMA – Recommended minimum specific Loran-C data
  10. $GPRMB – Recommended minimum navigation info
  11. $GPRMC – Recommended minimum specific GPS/Transit data
  12. $GPRTE – Routes
  13. $GPTRF – Transit Fix Data
  14. $GPSTN – Multiple Data ID
  15. $GPVBW – Dual Ground / Water Speed
  16. $GPVTG – Track made good and ground speed
  17. $GPWPL – Waypoint location
  18. $GPXTE – Cross-track error, Measured
  19. $GPZDA – Date & Time

181908.00 UTC Time stamp in hours, minutes and seconds.

3004.6040718 Latitude in DDMM.MMMMM format. Decimal places are variable.

N North latitude

07040.3900269 Longitude in DDMM.MMMMM format. Decimal places are variable.

W West Longitude

4 Quality Indicator. Other options are as follows,

0 = Fix not valid

1 = Uncorrected coordinate

2 = Differentially correct coordinate (e.g., WAAS, DGPS)

4 = RTK Fix coordinate (centimeter precision)

5 = RTK Float (decimeter precision)

13 Number of satellites used in the coordinate

1.00 denotes the HDOP (horizontal dilution of precision).

408.135 Altitude of the antenna

M unit of altitude (e.g. Meter or Feet)

29.200 geoidal separation. Subtracting this from the altitude of the antenna will provide the Height Above Ellipsoid (HAE)

M Unit of geoidal separation

0.10 age of correction

0000 correction station ID

*40 checksum

Time-To-First-Fix (TTFF)

 Another most important deciding feature of GPS receiver is the TTFF. TTFF of a receiver only decides how fast it can provide a valid NMEA data to the user. So the user must be very careful on the TTFF values while choosing the receiver. The TTFF values will be provided in the datasheet in seconds.

Any receiver can boot up in any one of the following three modes:

  1. Hot start
  2. Warm start
  3. Cold Start

The Time-To-First-Fix (TTFF) depends on the startup mode, with cold starts giving the longest TTFF. Following are the factoring affecting boot mode,

  1. Non availability of valid almanac and ephemeris data
  2. Level of incoming signals
  3. The unit is within 60 miles (100 Km) of location of previous fix
  4. Length of time since previous fix

Cold Start Mode

: Any receiver start in this mode when,

  1. Receiver has not been used for long time
  2. Moved several hundred kilometers
  3. Incoming signals are low or marginal. i.e. the predicted satellites are overhead of the receiver but cannot receive signals due to tall buildings, foliage etc.

Any of the above situation will make the receiver cannot predict which satellites are overhead. Then the receiver works with an internal list of satellites and tries to acquire each one in turn. This allows the receiver to discover the satellite which are in view and eventually establish a position. Normally the TTFF on cold start takes 2 to 4 minutes.

Warm Start Mode

: Any receiver start in this mode when,

  1. It has valid almanac data
  2. The current location of receiver is within hundred kilometers of the last fix location
  3. Receiver has been active in last three days and current time is known
  4. Ephemeris data that has not been stored or it has become stale
  5. Good signal strength and 4 or more satellites are visible

In this mode the receiver can predict which satellites are overhead but it needs to download the current Ephemeris data. TTFF for warm start mode is typically 45 seconds.

Hot Start Mode:

The receiver starts in this mode when the warm start conditions are met and,

  1. A fix has been established within the last 2 hours
  2. The receiver has stored valid ephemeris data for atleast 5 satellites

Receiver tracks the overhead satellites and needs to download minimum data to establish a position. TTFF for a hot start is typically 22 seconds. 


We have come across many startup modes for any receiver, but wonder how smartphone GPS units get a fix almost immediately?

They use Assisted-GPS (A-GPS) as a procedure of improving the TTFF or even allowing a fix in conditions where receiver might not be able to function.

A-GPS device will use a data connection available on the smartphone to contact an assistance server. This server will supply almanac and ephemeris data instead of waiting to receive them from the satellites. The server can also provide approximate location derived from the cell phone towers facilitating immediate fix.

PPS Signal

Most GPS receiver modules have an output called Pulse Per Second abbreviated as PPS. It is a digital output signal with much lower jitter than anything a MCU can do. PPS signal can be used          to time things very accurately at a precision in nanoseconds.

They are most commonly used to wake the MCU from deep sleep mode periodically at an interval of one second. In some applications, they are used to synchronize the system time and rectify the time drift due to the temperature effects of the RTC crystals. 

Selection guide for receiver

There is lot of options available while selecting a receiver module. Some of the main factors to be considered while selecting the receiver are as follows,

  1. Multi system support – Receiver module can be GNSS or GPS only. GNSS module provides simultaneous support to GPS, GLONASS, BeiDuo and Galileo systems. GNSS modules are better than GPS only modules and the cost of the GNSS module will be bit more comparative to the other.
  2. Size – Most important deciding factor for size constraint devices. Nowadays modules are getting very small but in general the antenna will also shrink to fit the module which will reflect in the lock time and accuracy.
  3. Number of channels – At a given time, there are so many satellites available in view but the number of channels a receiver module can track/acquire will affect the TTFF. The more a module can track/acquire many satellites, the faster it will find a fix.
  4. Update Rate – It is the time interval that how often a receiver module can recalculate and reports its position. The standard rate of a module is 1Hz (one report per second). Fast update rate means that there are more NMEA sentences coming out of the receiver module by which any microprocessor will be quickly overwhelmed trying to parse that much data.
  5. Power consumption – Another important factor that decides the success of a battery powered devices. There are many factors deciding the power consumption of a receiver module and in any case the typical power consumption should be low in few tenses of mA ranging between 25 to 30mA. Most of the receivers have various power saving modes which can be used during idle conditions.
  6. Antenna – Antenna defines the quality of the receiver module and it must be finely trimmed good enough to pick up the frequencies. Receiver modules available with a small patch antenna on top of it. It is made of ceramic. Some modules will also have dedicated antenna pin for connecting external active antenna. Receivers used in cars require external antenna support since the receiver module has to be placed inside the vehicle mostly connected to the OBD port which will be placed beneath the dashboard where a patch antenna will struggle to receive the signals.
  7. Accuracy – Varies between modules. Most modules can get it down to +/- 3m and sub meter or centimeter accuracy are also available but bit expensive.

About Embien

Embien Technologies is a product engineering service provider with handsome experience on automotive product developments. Embien has various solutions for time to market developments for automotive domain including Sparklet Embedded GUI library for 2D or 2.5D or 3D Instrument clusters, Flint IDE for GUI prototyping and eStorm-B1 – Automotive grade BLE Module.

Leave a Reply

Your email address will not be published. Required fields are marked *