I'm working on an Arduino project, and I'd like to add GPS functionality. I could buy a GPS module, but those are expensive. I had an old Garmin Forerunner 305 lying around, so I took it apart and took a peek inside. There are two PCBs - one connected to a screen and one to the GPS. In addition, there was a battery and a small part for charging.

I'd like to know if it is possible to connect this GPS to my Arduino, and if so, how?

Edited: To make my question more precise,

-I see the pins in the top right of the picture. How do I connect those to my Arduino? Is there any specific kind of wire? Because the pins are too small for standard wires.

-Once I connect it, how do I figure out the voltage requirements and pin layout? I tried googling the GPS model, but nothing helpful came up. What kind of scope should I put on it?

The two pictures below show only the GPS part of the inside of the watch. The GPS PCB

The other side of the GPS

  • 1
    instructables.com/id/Connecting-GPS-module-to-Arduino this could be the exact thing you want. Jan 3, 2016 at 14:45
  • Yes, unless it is a gps that requires software to function, this is probably not one of those. Also you have to deal with voltage levels, 1.8, 3.3, 5.0 and match that to your arduino. ideally put a scope on this one while running to see what the pinout is, or find markings on it (remove the antenna if possible) and search for that.
    – old_timer
    Jan 3, 2016 at 15:29
  • It may be easier to use a lo price "GPS Dongle".
    – Optionparty
    Jan 3, 2016 at 16:37
  • 4
    Cheap GPS modules are only ~10USD; nicer ones are <100USD. You are likely to spend more than 100USD worth of time trying to reverse-engineer that thing.
    – uint128_t
    Jan 3, 2016 at 16:56
  • 1
    But reverse engineering it could be fun…
    – dlu
    Jan 6, 2016 at 6:38

2 Answers 2


The short answer is NO, unless you have solid experience with microelectronics.

Finding documentation for a module you take out of a commercial device is hard to impossible. Chances are, that module is specific to Garmin, and even if it isn't, it's certainly EOL by now, with no support whatsoever.

Even if you do find the spec, there is a high chance that you'll have to write a software library to support it on Arduino. Don't expect the supplier to share the code they gave to Garmin.

Finally, to put together and debug this project, you will need quite some equipment:

  • oscilloscope to debug the electrical interface
  • soldering station to solder small pins properly

Like people said in comments, this equipment alone will cost much more than a brand-new GPS receiver.


Yes, interfacing with arduino, PC, ESP8266, whatever, easy peasy. Simple to breakout the serial comms off the Garmin, and whether or not you want to use a logic level shifter (Depending on your RS-232 logic requirements), easy too implement.

I've got a whole bunch of old Garmins (and some new ones) interfaced with some cheapy ESP8266's so I can share the GPS output (All of it. Not just the x,y,z position data), with multiple devices.

I'd be willing to share the code, wiring if you wish.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.