I picked up a u-blox NEO-6M GPS like this:
for $28 from yourduino.com:
Connecting the GPS a PC First
My first step was to connect the GPS to a PC first and make sure I could get it to work. The GPS outputs TTL serial data. So I just needed to connect the GPS to an FTDI to USB cable. You can pickup such a cable here if you don’t already have one:
My basic clues to make this happen were found here:
The pinout for the FTDI cable is:
Interconnecting the FTDI cable to the GPS is easy:
FTDI Color GPS Pin Black(GND) GND Yellow(RX) TX Orange(TX) RX Red(VCC) VCC
I connected the FTDI cable to my laptop and it immediately recognized the GPS as COM11. I set my terminal emulator for 9600 baud and it came right up!
There is a tiny green LED on the GPS board (at least the version I have). When it flashes green, it has locked onto the satellites.
I went to the u-blox site to get their board evaluation software:
Came up fine and even told me exactly which room I was testing it in:
Connecting the GPS to an Arudino
It seems there is a library for EVERYTHING these days and that certainly is true for the GPS module. I downloaded the TinyGPSPlus library from here:
I followed their instructions to install the library into the Arduino IDE. I then compiled and ran BasicExample from the GPS examples. This code doesn’t actually interface with the GPS. Instead, it really just let’s you know the GPS software library is working OK. No issues were found with this.
Next, I opened the kitcheSink example. This example wants to connect to the GPS with pin 3 of the arduino connected to the RX pin of the GPS and pin 4 of the Arduino connected to the TX pin of the GPS. You HAVE to verify the baud rate for the GPS. The software is setup to use 4800 and, at least for me, the default is 9600.
Once that was done, the software came up w/o a single hitch and started displaying GPS information:
I perused the TinyGPSPlus library and using it is very straight forward.
Connecting a GPS to your Arduino and extracting location, date, time, speed, etc. is very simple!