Ultimate GPS Logger Shield

Brand new and better than ever, we've replaced our Adafruit GPS shield kit with this assembled shield that comes with an Ultimate GPS module. This GPS shield works great with either UNO or Leonardo Arduinos and is designed to log data to an SD card. Or you can leave the SD card out and use the GPS for a geocaching project, or maybe a music player that changes tunes depending on where you are in the city.

This page covers the Ultimate GPS Logger Shield, not the original GPS Shield.

Plug-and-Play Compatible Boards

The Ultimate GPS Logger Shield is tested and fully compatible with the following boards:
  • Arduino Uno (all revisions)
  • Arduino Duemilanove and Diecimila w/ATmega328 chip
  • Adafruit Menta (remove from tin for GPS antenna to work)

Incompatible or Partially-Compatible Boards

This shield may work with other boards with some additional steps:

Arduino Leonardo

GPS:
  • Use 'Soft Serial' switch setting.
For the SD card, the following may be tried, in decreasing order of recommendation:
  • Use the Adafruit SD library, specifying pin 10 for chip select, 11 for MOSI, 12 for MISO and 13 for SCK.
  • Edit the file utility/Sd2Card.h in the default Arduino SD library, adding the line "#define SOFTWARE_SPI" (not MEGA_SOFT_SPI) at the top.
  • Add jumper wires from pin 11 on the shield to ICSP pin 4 on the board (on the 6-pin header), pin 12 to ICSP-1 and pin 13 to ICSP-3, then use the standard library in its default state (no SOFTWARE_SPI). This is difficult due to the shield obscuring the ICSP header and is not much recommended.

Arduino Mega (all variants)

GPS:
  • Use 'Soft Serial' switch setting.
  • Jumper from pin 8 on the shield to RX1 on the Mega
  • Jumper from pin 7 on the shield to TX1 on the Mega
  • In your code, don't use SoftwareSerial. Instead, define mySerial as Serial1:
Download: file
//SoftwareSerial mySerial(8, 7);
#define mySerial Serial1
Adafruit_GPS GPS(&mySerial);
For the SD card, the following may be tried, in decreasing order of recommendation:
  • Use the Adafruit SD library, specifying pin 10 for chip select, 11 for MOSI, 12 for MISO and 13 for SCK.
  • Edit the file utility/Sd2Card.h in the default Arduino SD library, changing line 42 to read "#define MEGA_SOFT_SPI 1" (default is 0).

Arduino Due

Follow instructions for Arduino Mega
  • Use "Due" versions of example sketches

Arduino Diecimila w/ATmega168 chip, Arduino NG or older

Does not work; insufficient RAM and flash program space.

Pin and Address Reference

The shield uses the following pins:
  • +5V
  • GND
For SD card:
  • Digital pins 10-13 (Card Select, MOSI, MISO, SCK, respectively)
For GPS:
  • Digital pins 0 (RX) and 1 (TX) when using 'Direct' switch setting
  • Digital pins 7 (RX) and 8 (TX) when using 'Soft Serial' setting
This shield can usually be stacked with others (including those using SPI), provided that each has a unique Chip Select pin.

Untested Boards and Other Notes

  • Arduino Mega 1280: compatibility should be similar to the Mega 2560; use 'Direct' switch setting for GPS, and library changes for the SD card.
If you have specific experience with this shield on the above boards or others, please use the Feedback & Corrections link at left. Thanks!

If experiencing trouble with a board listed as “compatible,” review the introduction for tips and visit the Adafruit Forums for assistance.
This guide was first published on Aug 14, 2013. It was last updated on Aug 14, 2013. This page (Ultimate GPS Logger Shield) was last updated on Oct 20, 2019.