Arduino GPS PMB-688 + LCD

http://www.youtube.com/watch?v=eZhwngz-YUM

Could you post code for this? I’m working with the PMB-688 and I’m having a lot of trouble getting it to work.

kiranimo:
Could you post code for this? I’m working with the PMB-688 and I’m having a lot of trouble getting it to work.

I am using same GPS receiver (PMB-688), just realised that the ground wire is not the white coloured one, but should be the black one.
If you see on the module shield, its written as the ground wire is white (I think they mistyped it)
Try to check it, because before i hardly could make it work by putting the module shield on the metal surface of the Arduino USB jack (as it is ground).

#include <AltSoftSerial.h>
#include <TinyGPS.h>             // Special version for 1.0
TinyGPS gps;                    // Create instance of an object
AltSoftSerial mySerial;         // Yellow wire to pin 6 (uno) or to pin 48 (Mega)

void setup() {
  Serial.begin(9600);
  Serial.println("Reading GPS");
  mySerial.begin(4800); // mostly GPS receivers use 4800 Bauds
}

void loop() {
  bool newdata = false;
  unsigned long start = millis();
  while (millis() - start < 2000) {  // Update every 2 seconds
    if (feedgps())
      newdata = true;
  }
  
  if (newdata) {
    gpsdump(gps);
  }
  
}

// Get and process GPS data
void gpsdump(TinyGPS &gps) {
  float flat, flon;
  int year;
  byte month,day,hour,minutes,second,hundredths;
  unsigned long age;
  
  gps.f_get_position(&flat, &flon, &age);
  
  if (age == TinyGPS::GPS_INVALID_AGE)//Establishing a valid and up to date NMEA GPS data
  Serial.println("No fix detected");
else if (age > 5000)
  Serial.println("Warning: possible stale data!");
else
  Serial.println("Data is current.");
  
  Serial.print("Position: ");
  Serial.print(flat, 4); Serial.print(", "); Serial.println(flon, 4);
  
  gps.crack_datetime(&year, &month,&day,&hour,&minutes,&second,&hundredths, &age);
  
  Serial.print("Date: "); Serial.print(day); Serial.print("/");Serial.print(month);
  Serial.print("/"); Serial.println(year);
  
  Serial.print("Time: "); Serial.print(hour);Serial.print(":");Serial.print(minutes);
  Serial.print(":"); Serial.print(second); Serial.print(":"); Serial.println(hundredths);
  //Serial.println("Time: "+hour+':'+minutes+':'+second+':'+hundredths);
  
  float fmps = gps.f_speed_mps(); //speed in m/sec
  Serial.print("Speed (in m/sec): "); Serial.println(fmps);
  
  float fc=gps.f_course(); // course in degrees
  Serial.print("Course (in degrees): "); Serial.println(fc);
    
  Serial.println();
}

// Feed data as it becomes available 
bool feedgps() {
  while (mySerial.available()) {
    if (gps.encode(mySerial.read()))
      return true;
  }
  return false;
}

Make sure to connect the yellow Tx of the GPS to the pin 8 (on Uno) or pin 48 (on Mega). As AltSoftSerial.h library use them as receiver pins.