How to get only location co-ordinates from GPS NMEA data

Hi. First of all I am new to Arduino and not good at programming. I am using Arduino Yun and Adafruit Ultimate GPS Breakout. I need only the location co-ordinates for my project. I am using the leo_echo code from Adafruit_GPS library to get NMEA data. Here is the complete code.

// Test code for Adafruit GPS modules using MTK3329/MTK3339 driver
// This code just echos whatever is coming from the GPS unit to the
// serial monitor, handy for debugging!
// Tested and works great with the Adafruit Ultimate GPS module
// using MTK33x9 chipset
//    ------>
// Pick one up today at the Adafruit electronics shop 
// and help support open source hardware & software! -ada

//This code is intended for use with Arduino Leonardo and other ATmega32U4-based Arduinos

#include <Adafruit_GPS.h>
#include <SoftwareSerial.h>

// Connect the GPS Power pin to 5V
// Connect the GPS Ground pin to ground
// If using software serial (sketch example default):
//   Connect the GPS TX (transmit) pin to Digital 8
//   Connect the GPS RX (receive) pin to Digital 7
// If using hardware serial:
//   Connect the GPS TX (transmit) pin to Arduino RX1 (Digital 0)
//   Connect the GPS RX (receive) pin to matching TX1 (Digital 1)

// If using software serial, keep these lines enabled
// (you can change the pin numbers to match your wiring):
SoftwareSerial mySerial(8, 7);

// If using hardware serial, comment
// out the above two lines and enable these two lines instead:
//HardwareSerial mySerial = Serial1;

#define PMTK_SET_NMEA_UPDATE_1HZ  "$PMTK220,1000*1F"
#define PMTK_SET_NMEA_UPDATE_5HZ  "$PMTK220,200*2C"
#define PMTK_SET_NMEA_UPDATE_10HZ "$PMTK220,100*2F"

// turn on only the second sentence (GPRMC)
#define PMTK_SET_NMEA_OUTPUT_RMCONLY "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29"
// turn on GPRMC and GGA
#define PMTK_SET_NMEA_OUTPUT_RMCGGA "$PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28"
// turn on ALL THE DATA
#define PMTK_SET_NMEA_OUTPUT_ALLDATA "$PMTK314,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0*28"
// turn off output
#define PMTK_SET_NMEA_OUTPUT_OFF "$PMTK314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*28"

#define PMTK_Q_RELEASE "$PMTK605*31"

void setup() {
  while (!Serial); // wait for leo to be ready

  Serial.begin(57600); // this baud rate doesn't actually matter!
  Serial.println("Get version!");
  // you can send various commands to get it started


void loop() {
  if (Serial.available()) {
   char c =;
  if (mySerial.available()) {
    char c =;

And I got the following output.


As you can see a lot of information are there. But for my project I need only the location co-ordinates and nothing else. Can somebody please help me to edit the code?

This page from the Adafruit tutorial has information about choosing the NMEA sentences that are output.

You can configure the GPS output you see by commenting/uncommenting lines in the setup() procedure.

As you can see a lot of information are there.

Yeh, maybe because you have this line in your code:



#include <Adafruit_GPS.h>

Why do you bother including this header file when you don’t create an instance of the class that it defines?

Why are you not using a perfectly good class that does everything that you want?