A Motorola SV6 based GPS Clock
Dave Robinson G4FRE
Introduction
When I initially assessed the usefulness of the Tanner $25 GPS unit (1) I concluded that the unit wasn’t too useful for GPS locking but would make a nice GPS clock. This was mainly due to the lack of a position hold mode and the extremely narrow 1PPS pulse. This writeup describes how to use the SV6 unit along with a display board to make a GPS locked clock.
Preliminary Investigations
The SV6 unit has a fixed outputs. Without re writing the onboard code the unit when locked produces GPGGA and GPVTG strings every second. Before lock has been acquired it just produces a GPGGA string every 20 seconds or so. The good news is that the output process starts automatically on power up (and a cold restart); no computer intervention is needed to start the sequence. The following shows the output sequence:
$GPGGA,,,,,,0,0,,,,,,,*56
$GPGGA,,,,,,0,1,,,,,,,*57
$GPGGA,,,,,,0,2,,,,,,,*54
$GPGGA,020240.5,3309.944,N,09639.154,W,1,3,005.1,,M,-024,M,,*56
$GPVTG,000,T,354,M,00.0,N,00.0,K*4C
$GPGGA,020241.0,3309.949,N,09639.138,W,1,3,005.1,,M,-024,M,,*56
$GPVTG,039,T,033,M,00.1,N,00.2,K*47
(Duplicate lines have been removed)
Note the $GPGGA string does not include the date, the display of date is therefore not possible in this version.
Design
Previous microprocessor projects (2),(3),(4) have used PIC microprocessors from Microchip (5), so they were used again, as the development tools were available. The facilities offered by these chips have increased considerably since the original keyer applications, features such as UARTS, SPI interfaces, EEPROM; the question was which features were needed.
The next task was to identify suitable displays. No suitably sized 6 digit displays could be found, so a pair of 3 digit 7 segment plus right hand decimal point multiplexed displays were found (6). To drive the 7 segments plus decimal points of all 6 digits would require a PIC with 14 output pins and a lot of processing to do the multiplexing
After doing a web search a Maxim chip (MAX7219) was discovered (7) which had an SPI 3 pin interface (thereby only requiring 3 PIC I/O pins) had onboard multiplexing and could drive up to 8 Common cathode digits.
To satisfy the PIC requirements a 16F628A was chosen. Chips were available that had both SPI interfaces and onboard UART, which would have been ideal BUT what you need to dig out from the datasheet (8) is that both cannot be used together in the same application as both use the same pins, which cannot be changed. Hence a cheaper PIC with just an onboard UART was chosen and the SPI part was done using onboard software (sometimes called “bit banging”). Flash versions of the chips were chosen as they can be electrically programmed many times, very useful in the development stages.
The circuit diagram is shown in Figure 1, the associated component list is shown in Table 1. A spare section of the RS232 level converter chip was used to buffer the 1PPS output of the GPS board and provide it on the RS232 pin 6, for possible future use. Note that as per the original writeup a pulse stretching circuit will still be needed to enable the pulse to be detected by a PC
Software development
Maxim provides an application note on their web site (9) using a PIC to drive a MAX7219 in a LED display thermometer, which made writing the SPI interface easier.
The 16F628A has an onboard 4MHz RC clock, which was initially used to save component count and cost. However it was discovered, by witnessing corrupted received data that this clock was not stable enough. Therefore an external 10MHz crystal clock is used; since this change no further problems have been encountered.
To save space in this writeup (program is around 400 lines of assembler), and allow revision control, the final software will be distributed to interested parties as a .HEX file to allow the 16F628 to be programmed. (10)
Construction
To keep the board size down a double sided PCB , with plated through holes would have to be used. This was beyond my production capabilities so following the guidance of Paul Wade W1GHZ, boards were designed and made by Expresspcb. (11) The PCB is designed using their supplied software, the design is submitted via the web and the boards arrive 3 days later. The final board size is 3.75 x 1.75”. A view of the front of the assembled PCB is shown in Figure 2, the rear view is shown in Figure 3. The two displays are mounted on one side of the board along with the chip components. The Integrated circuits, electrolytics and crystal are mounted on the other side., thus allowing the board to be directly mounted inside the lid of the box. Input signals and power for the board are extracted from the GPS board by a length of screened cable soldered directly to a 8 pin header.
The electronics is mounted in a 5”x3”x2” diecast box. A 175x18mm cut out was made in the lid of the box (just large enough to show the digits). Four 4-40 clearance holes were made aligning with the four holes in the PCB and countersunk. The board was held in place with four countersunk 4-40 screws and spacers. The GPS board is mounted in the base of the box, along with the 7805 heatsink. Figure 4 shows the outside of the completed unit.
Operation
When the Display unit is powered up all the digits on the display are blanked except for the right-hand digit which indicates number of satellites acquired. Three Decimal points will flash on and off to show that GPS valid data is being received from the GPS board.
Future Developments
The project has achieved all the aims originally set. By slightly altering the software the same PCB could be used to make a digital clock from other OEM GPS units that have appeared on the surplus market. Details on obtaining Programmed PICs, PCB’s and complete kits from the author will be found at (10)
References:
2. http://g4fre.com/keyers2.htm
3. http://g4fre.com/intelli.htm
6. http://www.fairchildsemi.com/ds/MS/MST6941C.pdf
7. http://pdfserv.maxim-ic.com/en/ds/MAX7219-MAX7221.pdf
8. http://ww1.microchip.com/downloads/en/DeviceDoc/40044b.pdf
9. http://www.maxim-ic.com/appnotes.cfm/appnote_number/917
11. http://www.expresspcb.com/
Table :1 Component Listing
R1 10k 0805 size SMT (DK 311-10.0KCCT) (increase to dim display)
U1 PIC16F628A 18 pin DIL (DK PIC16F628A-I/P-ND)
U2 MAX7219 24 pin DIL (DK MAX7219CNG-ND)
U3, U4 MST6941C 3 digit common cathode display (Mouser 512-MST6941C)
U5 MAX232CPE
U6 7805 Regulator (TO220)
X1 10MHz 18pF crystal HC49US (DK 300-6021)
C1,C2 18pF 0805 size SMT (DK 311-1102)
C3 0.1uF 0805 size ceramic SMT (DK 490-1666-1)
C4 10uF 10V tantalum SMT (DK 399-1563-1)
C5,6,7,8 1uF 35V tantalum SMT (DK 478-1671-1-ND)
C9 1uF 16V tantalum
C10 0.1uF 16V tantalum
Figure 1: Circuit diagram

Figure 2: Assembled PCB: Front view

Figure 3: Assembled PCB: Rear view

Figure 4: Assembled Unit:Internal view

Last modified 2 Jul 2006