Trimble GPS Receiver
I built this in June, 2002. It uses a now-obsolete (but still very useful) SVee-Six-CM3, purchased from BG Micro.
It came with an active antenna and limited instructions. These notes may be useful for anyone building a GPS around
one of these units; I think my techniques have some merit, in that they are inexpensive and yet give quality results.

Figure 1. Assembled Unit.
The first thing I did was take some measurements and I picked up a few plastic cases from Radio Shack (just about the only parts they sell anymore actually worth buying). The battery pack has a builtin switch and is enclosed. I used industrial Velcro to attach the pack to the main case. Of note in Figure 1 is the cable - I used a mini-DB-15 (often seen on VGA's - because I had them) on the unit end, and a DB-9 on the other. Industrial epoxy on both ends serves as the "hoods", and also makes for very excellent strain reliefs. The cable is actually a cable from a dead mouse - this wire is very flexible and great for projects like this, and, it's free. The battery pack uses NiMH AA batteries, which yield about 4.8 volts - not quite the 5 specified, but close enough (within tolerances). I would definitely NOT use regular AA batteries, because this would yield 6 volts for 4 batteries, definitely too much and would probably destroy the GPS. Even better, NiMH batteries have a long life of constant voltage and a quick drop off, unlike carbon-zinc batteries, so you get 4.8 volts for the vast majority of the battery capacity. You can't use a linear regulator like a 7805 from 4 AA batteries to get the +5 because the "headroom" between +6 and +5 is not enough for the regulator to work properly. It might be possible to use a "low dropout" regulator, though, although this would not be as efficient as using NiMH batteies to begin with. There is a very small LED running through a 470 ohm resistor to serve as a power on indicator. I use a high-value resistor to minimize current while still maintaing a reasonably bright light. Red still seems to be the most efficient color for LED's.
I suspect that battery life will be only an hour or two, although in my application, this is more than enough.
Figure 2. Internal Construction.

Figure 3. Wiring from Connector to Feedthroughs (Wire Wrap Wire)
.
Figure 4. Cheap SIP-Based Connector (Note Keying)
As provided, the weatherproof housing contains the main board, which is connected to the outside world by feedthroughs,
a flexible PCB, and a miniature pin connector to the main board. Unfortunately, not all the useful pins are connected;
I removed the flexible PCB by cutting it away and used wire wrap wire and a wire wrap tool (another good, cheap
thing from Radio Shack) to wire from the board pins to the housing. From there, I retained the wiring from the
feedthroughs and removed the connector on the end. My preferred connectors for this type of project is pieces of
Jameco
machined pin sockets (they break apart into what amount to SIP sockets). See Figure 4. They are small, good enough,
and cheap. I always "key" these connectors by cutting off some pins (so that it's impossible to plug
in backwards without noticing something very wrong) and by filling in the pin cups on the matching socket pins
with solder.
The unit does not absolutely require a lithium battery for memory backup but this is very strongly recommended. I didn't have a socket for a battery, so I stripped wire wrap wire into a large loop and wrapped electrical tape around it. Then, I used very strong fiberglass strapping tape to attach it to the housing. The +3 and GND from the lithium battery were connected to the appropriate feed-throughs. The battery should last for 5 years according to the Trimble OEM docs.
I used a piece of Radio Shack junky phenolic PCB on a standoff to install the wiring and a MAX 232 RS-232 converter. BG suggested a Maxim 233 chip that requires no capacitors; these are more expensive, and they, in my opinion, aren't quite as good although I can't argue about the board space savings. Note that the MAX 232 pinout is different. My construction technique was point-to-point and wire wrap; the connectors use high-tin solder for strength - higher melting point, but definitely stronger.
I barely got the antenna in; I was very concerned about overflexing the "hardline" coax from the antenna to the main unit and what you see is probably pressing the limits that I would dare flex the cable to. Beware that you definitely have to feel a solid "thunk" when connecting the miniature antenna connector to the main unit. Double-sided foamy pipe insulation tape (minus the aluminum foil cover) serves to press down on the antenna to keep it from moving. I didn't have any idea how one would actually mount it permanently, although I suspect that the side that is "up" in the figure above must be up.
I downloaded the flash/communication kit as suggested by BG; I didn't know what firmware revision to use. The unit had no labels to clue me into which was appropriate-maybe they were on the other side of the board, but I wasn't sure and I didn't know how to take apart the antenna connector. I used the wrong one (502 in my case) and the unit refused to accept it; I then used the TK510 kit and it worked, changing the unit to the NMEA protocol.
I downloaded the VisualGPS software as suggested and I got nothing. I then downloaded something close to the original documents for the board from the Internet via Google (search for "SVeeSix-CM3 initialization") and realized that I was going to have NO LUCK with my PC connected to the unit inside my house (don't even bother trying). I could not pick up even ONE satellite. I took a terminal outside, powered it, and in a few minutes I was getting position data from six sattelites, the maximum that the unit can receive at once. Upon reading the full instructions, I learned that from a "cold start" with no real-time-clock info or BBRAM data, the unit would take some time to find and calculate all satellite info. After getting this initial sync, the unit would sync up fairly quickly, within a minute or so, even after being turned off. This is why you have the battery backup! Also nice is that you get the time (but keep in mind that GPS time is slightly different than "normal" time, and the difference is not just time zones). If you can get four or more satellites, you can also get your height above sea level (with a correction for the difference of the "ideal" spherical Earth and your location - the Earth is slightly pear-shaped.
Figure 3. Success! A printout from my 1970's vintage portable thermal printing terminal.
As a confirmation that it actually worked, I went on Microsoft's terraserver, entered lat/long info, and found my house!
I was going to use this data for two purposes. Firstly, I'm going to take the location information for my backyard and install this into the initialization of my telescope drive computer. It's my intention to write a simple compiled BASIC program to perform this automatically so that I can move the telescope and re-initialize the data exactly (although this is probably overkill). The newest Celestron and Meade telescopes utilize GPS, I believe - and there is some controversy involving patents concerning this). The NMEA protocol is not complicated, and is fairly easily read by humans as well as computers. It is possible to reprogram the unit to provide additional NMEA messages although I haven't pursued this. The other protocols are much more powerful, but they are proprietary, and the "best" of them all is entirely binary.
For a project like this, involving a lot more assembly than design, the hardest parts are making the connections, and making it reasonably sturdy and portable. It is also very important to check that all of your tools work - like the serial port on your PC. It IS enabled, isn't it? Is it the one you expect (keep in mind that between the BIOS and your OS, they can easily be "swapped"). I can't stress more, checking and rechecking your connections, expecially the power, so that you don't let "magic smoke" out of your hard-to-get, $25.00 assembly. I've been doing this sort of stuff for almost 30 years and I caught myself making several mistakes during this project - but the fact is, I caught them before attempting to power the unit.