Interfacing to the SVeeSix-CM3

 

In this page I’d like to document my process of interfacing to the SVeeSix-CM3 GPS module.

B.G. Micro offered this module for sale in late June 2002. It caught the eye of the IOTA enthusiasts because it offers a one-pulse-per-second signal that is synchronized to UTC with a nominal accuracy of 1 ? second. And it is inexpensive: $25. The hope is to build a time-inserter based on this device, a device that will insert a precise time stamp into a video signal which just might show a star (dis/re)appearing from behind the moon.
 

Above is the SV6 showing the output wires.

 

The first step is to interface this device to a PC. This is necessary to use the available utilities to reprogram the device to use NMEA protocol rather than the proprietary Trimble protocol.
 

B.G. Micro includes with the device some detail schematics and a how-to. We need 6 signals from the SV6, but not the same 6 offered on the wires shown above: We need pin 6 (the PPS signal), which is not wired and we don’t need pin 7 (RXD 2). The solution is to have pin 6 use pin 7’s wire.
 

My approach was to surgically cut the trace in the flat cable coming from pin 7. I then jumpered pin 6 to the bulkhead through-hull.
 

In retrospect I wished I hadn’t done it this way. The pin 7 that I abandoned is to bring DGPS messages back into the SV6. I have a DGPS receiver and will want to experiment with that feature. Measure twice and cut once is the rule! If you don’t need to bring DGPS back in to the unit, cut away. Instead of cutting the flatcable it might be better to cut pin 7 at the board and then jumper pin 6 to pin 7 at the connector.
 
 


 

The Interface Board

 
I powered with a bench supply. The board drew 270mA. I'm using a MAX233 here.

 
 

Converting the Firmware
 

The software for converting the firmware to NMEA is available from Trimble . When expanding the software, use a –d option as the files are in structured directories. (e.g. TK510.exe –d). The instructions from B.G. Micro may be a bit out-of-date. You need to hunt through Trimble’s ftp directory to find what you need. First get the identification from your board: the firmware number (mine was 5.10) and the protocol ID (mine was 34057-61). –61 means TSIP protocol, -62 means NMEA and –63 means TAIP protocol. In my case I needed to find 34057-62.EXE to convert my unit to NMEA. You can convert back to the other protocols if you want to experiment.
 

These units have been sitting on the shelf for a long time so they have no clue where they are when they wake up; definitley a cold start. To prove the serial interface leave the device in TSIP mode and run TSIPCHAT.exe. Take the device outside with a view to the southern sky and put some aluminum foil underneath the antenna to improve its reception by 3dB. (These are all suggestions from Kiwi Geoff, author of Kiwi and Kea, two GPS programs we'll be discussing later).


 

You can also work in TAIP protocol and use Trimble’s GPSSK program for basic debugging. I found that the fancy programs like VisualGPS and SAWatch which use the NMEA strings gave me very little feedback as the unit struggled to find itself.
 

Switched to NMEA mode and just watching the output of the device it took some 3 hours before it found itself. During that period it output NMEA GGA messages every 20 seconds or so. Once it is located it then outputs GGA and VTG messages at about 1/sec. Restarting the unit the acquire time was more like 20 seconds.
 

The PPS signal

The PPS (pulse per second) signal is a very short positive going pulse; about 1 microsecond wide. My scope couldn't show it to me. To use a program like KIWI (Precision Timestamp Utility) or KEA (GPS derived Audio Time Code Generator) this pulse needs to be stretched. I used a simple digital circuit: invert the signal, use that signal to trigger a 555 one-shot and then invert the output. This gave me a 260ms negative pulse.

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Other info on the SveeSix-CM3

http://www.cs.ukc.ac.uk/projects/mobicomp/Fieldwork/Notes/gps_if.html