How to interface GPS with PIC18F4550 Microcontroller

Global Positioning System is based on satellite navigation technology. A GPS Receiver provides the accurate location of an object in terms of latitude and longitude. Accurate time calculation with respect to GMT can also be done by using GPS. For more information on different data obtained through GPS, refer GPS Receivers. Here a PIC microcontroller has been interfaced with a GPS module to extract its position information (location).
GPS with PIC

GPS provides a lot of geographical information for a particular object like its latitude, longitude, direction of travel, GMT etc. This information are assembled in a particular string format which are to be decoded by GPS modems. A GPS modem gives the output data in a following string format called as NMEA Format. A common GPS sentence ($GPGGA) has been explained below.




1.               A string always starts with a ‘$’ sign
2.               GPGGA : Global Positioning System Fix Data
3.                ‘,’ Comma indicates the separation between two values
4.               100156.000 : GMT time as 10(hr):01(min):56(sec):000(ms)
5.               2650.9416,N: Latitude 26(degree) 50(minutes) 9416(sec) North
6.               07547.8441,E: Longitude 075(degree) 47(minutes) 8441(sec) East
7.               1 : Fix Quantity 0= invalid data, 1= valid data, 2=DGPS fix
8.               08 :  Number of satellites currently viewed.
9.               1.0: HDOP
10.           442.8,M : Altitude (Height above sea level in meter)
11.            -42.5,M :         Geoids height
12.           __ , DGPS data
13.           0000 : DGPS data
14.           *71 : checksum
The main objective here is to find the location of the GPS Receiver in terms of latitude and longitude. The GPS module gives output data in RS232 logic level format. To convert the RS232 logic level into TTL, a line converter MAX232 has been connected between GPS module and PIC18F4550. (Also refer PIC USART) The circuit connection of GPS module with microcontroller is shown in the circuit diagram tab. The latitude and longitude data has been displayed on a 16×2 LCD interfaced to PIC.

For more detail: How to interface GPS with PIC18F4550 Microcontroller

About The Author

Ibrar Ayyub

I am an experienced technical writer with a Master's degree in computer science from BZU Multan University. I have written for various industries, mainly home automation and engineering. My writing style is clear and simple, and I am skilled in using infographics and diagrams. I am a great researcher and am able to present information in a well-organized and logical manner.

Follow Us: