GPS Viewer

With this project you can connect a GPS receiver to ORbit16™ and see your coordinates and time/date from satellites on a display.

For Low-Power version of this project see GPS Viewer – Battery Operated

You can use a Nokia 3310 display or a classical HD44780 20×4 LCD using the LCD HD44780 I2C library

Source code allows to use the lcd you want… but you can also use both lcds together! The firmware reads data from GPS receiver (only $GPRMC sentence is evaluated) and shows latitude, longitude, time, date and fix status. Latitude value is converted to be used with programs such as google maps, google earth and similar. A routine is provided in order to adjust the UTC time from satellites.

In my experiment I’ve used an EM406 GPS Receiver since is very compact and reliable. It works at 5V so I’ve used a voltage divider from GPS TX to ORbit16 RX to convert 5V high level to 3.3V low level. This GPS works at 4800bps, so the code is written to be used with GPS working at 4800bps but is easy to change: in the file settings.h you must change the BRG value, calculations are explained in the remarks. Make sure to use a 3.3V GPS receiver or a Voltage divider !!

Voltage divider used on this project. GPS TX is connected to pin 4 of JP1. PIC RX (RB3) is connected between R5 and R6

Serial port RX is configured on pin RP3 (BP3 on ORbit16™). Only RX function is used since I don’t need to send data to GPS receiver!

Connections for LCD HD44780 with IO Expander are the same explained in the LCD HD44780 I2C library page.

Connections for Nokia 3310 LCD are the following:

  • Clock (CLK or SCLK) on RA1 (A1/P6)
  • Data In (DIN or DN or MOSI or DATA ecc) on RB0 (BP0)
  • Data/Command (DC or D/C) on RB1 (BP1)
  • Reset (RESET or RST) on RB2 (BP2)
Kind of display is selected in settings.h:
#define USE_NOKIA_LCD			// Uncomment this if you want to use a PCF8574-based LCD
#define USE_HD44780_LCD			// Uncomment this if you want to use a HD44780-based LCD through a PCF8574 IO Expander

Comment the row for display you don’t want. At row 52 of settings.h you can set the hours to add to UTC time from satellites:

#define HourC			1		// hours to add UTC

Provided schematic in Eagle format are the same used for GPS Logger project, so S1 is not used in this project. Schematic is to be used with Nokia 3310 LCD and EM406 GPS receiver.

GPS Logger BitPack™ without Nokia LCD. GPS is attached using double-sided tape

GPS Logger BitPack™ with Nokia LCD


GPS Viewer source (182 downloads) GPS Logger Bitpack Schematic (Eagle) (210 downloads)

WARNING! Some new Nokia LCDs has a different pinout, please check that pinout is the same as shown in the documents of Nokia LCD library before buy it!