If I've made any mistakes in this guide, forgive me - I am typing it up at 3 AM on a red-eye to Scotland. Please use the comments to tell me what I got wrong and I'll fix it!
I've had a Nikon D200 for a few months now. I've also written GPS software a few times. Since the D200 takes GPS input and saves it in the RAW/JPG headers, I wanted to get this to work for myself.
However, I had two problems. First, I had some problems finding a compatible GPS device. The shockingly expensive Nikon MC-35 cable took a DB9 serial connection. No USB. Most GPS devices out there are either USB or Bluetooth these days. I have a drawer full of old devices like the DeLorme EarthMate, so I started trying things out.
First, I tried the EarthMate. The D200 didn't recognize it, probably because it doesn't output NMEA 2.x, which is what the camera requires.
Next, I tried my Magellan eXplorist 210. This has a USB output, so I went through an extensive effort to design a reverse USB-to-DB9 setup. This had a DB9 gender changer into a serial-to-USB dongle, which then went into a F-F USB A style plug. Which, by the way, are exceedingly hard to locate. This ugly jury-rigging yielded exactly nothing.
I wondered whether the D200 10-pin port was operational. I got an Adidt (rhymes with "shitty") shutter release that didn't work. I even took the D200 to a shop to have it tested; a genuine Nikon cable worked, so it wasn't the port.
I finally decided I was going to have to build something myself. I poked around a few enthusiast sites, and decided that I would wire a small puck-style GPS receiver to do the trick. And "trick" was the word, because I have almost no experience crimping and soldering, and lived in constant fear of frying my camera. But I got it working, powered directly from the camera, and thought I would share the way I did it.
You will need a few things for this task:
- Garmin GPS18 LVC (not the USB or PC). Provantage.com had them for cheap.
- 2 or 3 DB9 female kits from Radio Shack. I would buy a spare DB25 female so you have extra crimp pins.
- A 9-pin cover thingie
- A European-style terminal connector strip. This lets you test your connections with a multimeter and get them working before doing the final setup.
- A multimeter. Simple is fine.
- A small soldering iron and some acid-free solder.
- A small crimper
- A small wire cutter/stripper. You'll be working with 26 and 28 gauge wire. Radio Shack has a small version of this that I found worked well.
- An M3 screw
- A plastic camera shoe (Nikon BS-1)
- Some silicone sealant
- A Nikon MC-35 cable (these can be hard to find)
- A Nikon MC-23 cable (this is 10-pin to 10-pin)
- Heat-shrink tubing
- (Optional) 3x AAA battery casing with two wires out (Radio Shack again)
OK! To start, snip the cord on the GPS18, and strip it. Everyone says that it's a six-wire lead, but I opened it up and counted seven wires. Not a problem. These wires are:
Yellow - Highly accurate one pulse per second (DCD)
White - Data output
Green - Data input
2 Black- Two thin black wires are the data grounds
Black - One thick black wire is the power ground
Red - +4.0 to 5.5 volt DC power input
Now for testing purposes, strip and tin four 26/28 gauge wires. Crimp them into pins 2 thru 5 of a DB9 female kit. Strip and tin the wires coming out of the GPS18. You can solder together the two data ground wires.
If you have a Euro strip, wire this up like so:
GPS white -> pin 2
GPS green -> pin 3
GPS black pair -> pin 5
Now wire the red and black power lines from the GPS to two other ports on the strip. Connect the same color wires from the 3xAAA battery holder and put batteries in. Your device now has power, and you have output to the DB9 female (maybe).
You can test this in three ways. 1. Plug the DB9 into a computer with a serial port and go into Hyperterminal. Getting output at 4800,N,8,1? Then it works. 2. Plug the DB9 into a serial-to-USB adapter and repeat step 1. 3. Plug the DB9 directly into a Nikon MC-35 cable, then plug that cable into a D200 (or other GPS-enabled model). If a small GPS icon shows up on the LCD readout within a few seconds, you've got it.
You could stop right here if you are OK with a battery powered device, but I wanted to power it directly from the camera. I toyed extensively with splicing the GPS directly to a 10-pin connection, but haven't gotten it going yet. I came up with a hybrid solution for this.
The Nikon MC-23 spec has ten different color wires in it. Brown is 5v power coming from the camera, and yellow is power ground. Take that nice new MC-23 cable, and cut it in half. Strip it so the wires come out, and strip and tin the brown and yellow lines.
Now remove the battery holder from the Euro strip and connect:
MC-23 brown --> GPS red
MC-23 yellow --> GPS black
This will give you a GPS device connected to a DB9 data cable and a 10-pin power cable. Now plug the DB9 into an MC-35, and plug the MC-23 into the spare port of the MC-35! When you plug this all into the camera, you should get a GPS indicator. It flashes at first, until it gets a fix. Be patient.
Once this is all working, you just need to replicate what you've done, without the Euro strip.
- Remove the GPS wires and crimp them directly into the appropriate DB9-F pins.
- Slide some heat-shrink tubing over the power lines and solder them together, then shrink the tubing down.
- Attach the DB9 cover thingie.
- Squirt in some silicone sealant to secure it a bit better.
I am talentless in this, but I got it working. You should have:
GPS puck -> cable -> DB9
The DB9 and 10-pin each get connected to an MC-35, and the project is complete!
Almost. I wanted to mount this directly to a cold shoe. So I drilled a small hole in a BS-1 hot shoe protector, and connected it to the puck with an M3 metric screw. I put a small nut between the two as well (I should add that to the parts list.) Just for safety's sake, I covered the screw head with a small piece of electrical tape so that it didn't make inadvertent content with the hot shoe leads.
Now I can slip the GPS into the hot shoe, plug it into the 10-pin port via an MC-35, and I get positional data in my EXIF.