GPS Shield

GPS Shield for Arduino

The Dexter Industries GPS Shield for Arduino can be found here.

Downloads, Example Code

Tip:  Getting A Signal

Troubleshoot: Is my GPS Shield Working?

Got a question?  Ask on our forum!

Author: Administrator on October 26, 2012
25 responses to “GPS Shield”
  1. Dear Madam, dear Sir,

    would it be possible to attach an external antenna to your current Arduino GPS shield? Our current development is going to be embedded inside a vehicle and will require an external antenna…

    Hans Zwakenberg

    • Administrator says:

      Hello Hans,
      Unfortunately no, there is no way to hook up an external antenna to the Arduino GPS Shield. We may look for one in the future, but the current edition (as of Dec 2012) does not allow you to hook up a GPS antenna.

  2. Sean says:

    I ordered the GPS Shield along with an Arduino Uno from Amazon and had two quick questions about the shield.

    First, I notice that there are 4 sets of jumper pins located to the left of the battery. It was shipped with only the set labeled ’3′ jumpered. The other three pairs, ’10′, ’11′, ’12′ were left open. What are those jumpers for? And did I miss any online documentation that gave this information?

    Secondly, for my application, I’d like to still be able to use other I/O pins on the Arduino. I’m relatively new to Arduinos, and this is my first shield. Is there an adapter I should put in between the Arduino and shield to make it easier to access the pins? Looking at the shield, the only way I can use the other I/O pins appears to be by soldering to the top of the shield. I can do that if needed, but was just wondering if the normal Arduino way of doing things?

    I understand that the GPS Shield uses pins 3 & 4 to communicate with the Arduino. And that 0 & 1 are usually reserved for comms between Arduino and host computer, but I’d like to be able to use digital pins 2, 5-13, as well as possibly the analog ones…

    • Administrator says:

      Hey Sean,

      The bank of pins gives you the ability to choose which line you want to use for serial communications from the Arduino. By selecting 3, you’re using pin 3. You can, however, use pins 10, 11, and 12 just by moving the jumper over.

      If you’re just trying to access the pins, you may indeed need to solder if you have one of our shields that uses the straight pins. However, you can partially insert the shield into the arduino, leaving the pins accessible: you can then access them pretty easily. The reason we were doing this was because a GPS sensors usually need as much open-space as possible to pickup a satellite; if people put electronics over the top, they might interfere with the reception.

      If you want to use pins 2, and 5-13, why not keep the jumper at pin 3, and then use the remaining pins for your project?

      • Sean says:

        Ok, good to know about the jumpers and what they’re used for. I did wonder if that was what it was for, since I noticed the jumper was on 3 and my data was coming over pin 3, but I didn’t want to attempt moving jumpers around without being sure I knew what they were for!

        After I posted the question, it did occur to me that you guys intentionally didn’t put another set of sockets on the top of the board for the very reason you stated above; the GPS antenna needs to be able to see the sky, and if someone slaps another shield over the top of the antenna, they’re going to wonder why they aren’t getting any reception.

        I might not have been clear enough with my statement regarding pins 2, 5-13. I know that I can use them electrically, I was more curious for recommendations of how to actually connect to them mechanically given that it appeared there wasn’t really an option other than soldering. I don’t need my connection to be completely ruggedized, but I did want it to be somewhat solid. I’m considering adding something like this: in between the Arduino and your board, to make life easier on myself…

  3. Flavio says:

    Hi there,
    I also bought the GPS shield from Amazon. It works great and very easy to implement with my Arduino UNO. My questions is: why does the GPS shield need its own battery? I am new to the Arduino world and I am just wondering if this built-in battery is a must or not. In the future I would like to use the GPS shield attached to an Arduino with a smaller form factor such as the mini or nano, therefore I am not sure if I will supply power through wires coming from the Arduino Mini, or if the GPS shield does not require external power. Hope my question makes sense! Thanks.

    • Administrator says:

      Hey Flavio,
      The battery is needed to maintain the Almanac in the SRAM. The SRAM is maintained as long as there’s a battery in place, or there’s power on VCC. Losing the almanac can increase the satellite acquisition time. If you wanted to try working without the battery, you could connect the line to VCC and the GPS chip would operate. However, it would be slower to acquire satellites on startup.



  4. Zachary O. says:

    I want to know if I can order a motor shield and stack this one on top of it. Will that work? I’m also very new to arduino. I know you can stack shields if the pins align, but will this one work with a motor shield under it?

    • Administrator says:

      Hey Zachary,
      Which motor shield in particular?
      In general, no, you should be able to use just about any shield you want: you can re-pin the GPS shield to use different pins. It all depends on which Motor Shield you’re trying to use.

  5. Andre says:

    From the comments on the code, I get that Status V is no signal acquired and Status A is signal acquired. But sometimes I see Status E and even (less frequently) W. What do they mean?

    • Administrator says:

      Hey Andre,

      Couple things could be happening, but I suspect the root of the problem is an interrupted or incomplete GPRMC string. Do you see these characters showing up when you’re checking checksum? You can see the codes that are possible on page 11 of the gps chips sheet: it could be you’re seeing east or west (E/W) slide up in the string. I’m not sure where I is coming from, which also leads me to believe it could be a checksum problem.

      Hope this helps!


      • Andre says:

        Thanks for the reply John!

        I figured out what the issue was. The Arduino Software version. I first tried on the latest one (which at this time is Arduino 1.0.3). There was an error compiling:

        In file included from dGPS2.cpp:24:
        C:\Dev\arduino-1.0\libraries\dGPS/dGPS.h:8:22: error: WProgram.h: No such file or directory

        A quick google explained to me that since Arduino 1.0 WProgram.h had to be replaced by Arduino.h. I did that, compiled and run without issues. Well, one issue. It compiles and runs, but the test program no longer works. Would it be possible for you guys to update the sample project to work with Arduino Software version 1.0.3?



        • Administrator says:


          Glad it worked out. Thank you for letting us know!

          • Andre says:

            No problem, thank you for moderating these forums so we can report issues like this. Now, I was wondering if I should be expecting a new version of the sample, or if I should start working on it myself. Though I would appreciate a fix, I can understand if its not on the roadmap. But I am new to arduino and if that is the case I would appreciate if you could at least point me to the right direction of what to look for.



  6. nico says:

    Hi there,

    I’ve just received my gps shield, and after hours of trying, i can’t get valid datas.

    Here is an example of the raw datas :


    Does someone have any ideas of what’s going on ? (i’m using an arduino uno)

    Thansk a lot.

    • Administrator says:

      Hello Nico,
      It looks like your GPS sensor hasn’t acquired a satellite. I see a time (152039) and I see data succesfully coming over. You can see the “V”, which means that not enough satellites have been found to give you a position. That should turn to “A” when it does.

      You can see more on the GPRMC strings here:

      Is there any way you can take the Arduino out to an open sky and acquire your Almanac first? Once that’s found, it should be stored in the SRAM and you’ll have faster satellite acquisition.



  7. Mohsin Shabbir says:

    Hi, I recently bought the GPS shield and one of the example programs is giving an error. “dGPS dgps;”. I get the message “‘dGPS does not name a type. I added the dGPS library to the program. I’m using arduino 1.0.5. Any idea why this is happening?

    • Administrator says:

      Thanks! We went ahead and just updated and tested all of the example files and drivers. Can you give it another shot? We had to update for the latest version of Arduino. The code should be working fine now.
      Thanks again for the heads up!

  8. Israel Pazmiño says:

    Hi, I recently bought the GPS shield and i have a problem with it, when i was trying to use it and a SD Card Shield at the same time it causes problems, seems like reset Arduino. I was looking for a solution and i found that “strtod” may causes a reset, i found this code into the gps library. I would like to know if there is a problem of compatibility with the new version of Arduino. Thank for your help.

    • Administrator says:

      Israel, which SD card shield are you using? A few things could be happening:
      1). The pins used by the GPS shield are conflicting with the SD Card Shield. The GPS shield can be brought out of the way of the SD card with our pinning system.
      2). The GPS shield might be drawing more than your power system can supply. How are you powering this?
      3). Does the GPS shield work without the SD card Shield in place? Does it cause the resetting you’re seeing?

      • Greg says:

        I would also like to learn how to connect an SD card reader. I want to use my Ethernet shield between the Mega and Dexter GPS shield. My Ethernet shield has an SD card slot. How do I get the GPS output to my Ethernet shield? Pins 0, 1, 10, 11, 12, 13 are all taken by the shield. Connecting SS, MOSI, MISO, and SCK by jumper to another board is also not an option since the Dexter GPS Shield does not have pins for anything to be connected above. Thanks.

        • Administrator says:

          Greg, It depends on which shield you’re using, and which pins that shield needs to operate. 9, 10, 11, and 12 are all options.

          In your case, you say that 0, 1, 10, 11, 12, and 13 are taken. Maybe 9 would work?

          In general, if your other shields required pins 9, 10, 11, and 12 for another function, then you are probably not going to make the Dexter Industries GPS shield work.

  9. Rishi says:

    Hi I’m also fairly new to Arduino and I was wondering if there was a way I could use pin 3 to meet my motor shield’s requirements. Also, it would be great if you could give me a list of the pins required for this shield,

    • Administrator says:

      Rishi, you can definitely use Pin 3 for other things. You can use Pins 10, 11, and 12 also for receiving messages. The Shield comes with jumpers that you can use to select which pin to get messages from. Hope that helps. Good idea about the diagram, we’ll try to get one up soon.

Leave a Reply

nine + = 16