Saturday, February 22, 2014

Arduino & uBlox Neo 6M GPS

A buddy of mine sent me a uBlox Neo 6M GPS module and said "figure it out". Cool, I love projects like this.

There are 4 connections, TX, RX, VCC and Gnd. I connected TX of the module to pin 10 on the Arduino, Rx to Pin 11, VCC to 5v, and Gnd to Gnd.

I started with a simple SoftwareSerial demo to make sure I could read the module:

#include "SoftwareSerial.h"

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);

  Serial.println("uBlox Neo 6M");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);

}

void loop() // run over and over
{
  if (mySerial.available())
    Serial.write(mySerial.read());

}


Then I added Mikal Hart's TinyGPS Library and sample code. This converts all those NMEA messages into a readable format by stuffing the character sequences into variables.

After a bit of massaging, here is the final result:

http://tny.cz/d19906cc (code)



I still have more work to do, like displaying selected data on a LCD, but now that the data is in variables, that's easy. Stay tuned.