Documentation : Hardware | Software | Tutorials    Wardrobe : Jackets | Applications
Papers : Notes | Proposals | Research    Administration : Stock | Minutes | Progress

GPS Mk II Interface Board

The Mk II GPS interface board has been designed to using the same principles as the original interface board and to provide greater flexibility and performance. It is intended to be used with either the Garmin GPS15L or GPS25-HVS.

The board can interface directly with the RS232 serial lines on the system bus sending the standard NMEA output stream. The GPS receiver is also interfaced to a PIC16F84 chip that decodes its output and uses shared TTL serial lines on the bus. The interface also provides power to the GPS receiver.

As well as a number of preconfigured links, the board has eight DIP switches to enable it to be used in several configurations. The table below shows their functions:-

Sw. No.Function (enable in 'on' position)
1.1GPS25 RS232 control data in*
1.2GPS25 RS232 dGPS RTCM SC-104 data in*
1.3GPS15 RS232 dGPS RTCM SC-104 data in*
1.4GPS15 RS232 control data in*
2.1GPS15 RS232 NMEA to PIC
2.2GPS15/25 RS232 NMEA to bus
3.1TTL Rx from host
3.2TTL Tx to host

* use as 'radio' button - only one switch may be selected

Typical Configurations:

GPS25 with dGPS to RS232 Serial bus: 1.2, 2.2 ON
GPS25 to TTL bus via PIC: 3.1, 3.2 ON
GPS15 to TTL bus via PIC: 2.1, 3.1, 3.2 ON
GPS15 to TTL bus with dGPS: 1.2, 2.1, 3.1, 3.2 ON
ALL other switches OFF


The board has two LEDs which indicate state:-
Solid RedPower on - NMEA not received
Flashing Red$GRMC sentences being received and decoded - no fix
Solid GreenA fix has been obtained - most recent postion data available on request
Flashing Red and GreenTTL Requests being processed and Replies being sent


The device communicates with the host using a pseudo RS-232 protocol (TTL) on the system bus.  Since the device has been designed to operate in conjunction with other sensors on the shared bus. Communication between the host and the GPS interface is as follows:

Host to GPS Interface


aa = latitude degrees (0-89)
bb = latitude minutes (0-59)
ccc = latitude minute points (fraction)
d = 'N' or 'S'
eee = longtitude degrees (0-179)
ff = longtitude minutes (0-59)
ggg = longtitude minute points (fraction)
h = 'E' or 'W'
i = filter type 'I' specifies inside circle centred on position and 'O' is outside, 'P' requests present value (give immediate fix).
jjjj = circle radius in metres

Health Warning - 'P' filter tested aok, 'I' and 'O' filters untested. cnr 8/03

GPS Interface to Host

This is a simple position fix with the fields as specified above and where 'v' is either 'V' signifying no current fix and data is previous valid fix; or 'A' signifying current valid fix.

ASM Code for PIC

The latest firmware for the GPS MkII interface's PIC can be found here. This should be compiled using MPLAB (installed on Scampi).


GPS MkII Interface board mounted on GPS 25.
click on image to view full size

Test Rig with both serial interfaces in use together.
The RS232 serial connection is giving a dGPS fix using dGPSIP over 802.11, and the TTL connection is requesting and receiving data.
click on image to view full size


click on diagram to view full size

This page last updated August 19, 2003
The material displayed is provided 'as is'. Contents may not be reused without prior permission.
For problems or questions regarding this web contact Cliff Randell.