Friday, July 28, 2006

How to make a GPS device for a Nikon D200

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). 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
+----> MC-23

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.


Anonymous said...

Very nice ideas. Can you post some pictures?

Anonymous said...

Your article is similar to:

Please place more pictures to your blog.

Anonymous said...

This MC-35 GPS migration looks slicker :0)

Anonymous said...

GPS receiver for Nikon D200 D2X D1x has no need of Nikon mc 35 or any cable. Everything is there.

Cprogrammer said...

I used AyAy Sir Ti-GPS unit from I have described my solution at

The photos can be seen at

Rick Wargo said...

I finally posted instructions on how to make a GPS for the D200 that is self-enclosed, sits on the flash mount and is powered by the camera. It's cheap (< $100), doesn't need an MC-35 or MC-23 cable, and is quick and not too difficult to make. I've been using it for about a year with much success. For details, see my blog at

MrGS said...

Great ideas! Pictures would definitely be nice. I wonder if I could make a GPS device for an ankle bracelet for offender tracking or hiring someone that does it...

Anyway, thanks for the info!

Anonymous said...

Please share your knowledge by the GPS and Nikon connectors pinouts (and any other you may have) on AllPinouts archive (

AllPinouts is a Web-based free content project (like Wikipedia) that collects information about hardware interfaces of modern and obsolete hardware, including pinouts of ports, expansion slots, and other connectors of computers and different digital devices (i.e. Cellular Phones, GPS, PDA, Game Consoles, etc.). All text is available under the GNU Free Documentation License (GFDL) and may be distributed or linked accordingly. AllPinouts archive already contains hundreds of pages organized into three main categories (Connectors, Cables, Adapters) and several subcategories.