Il y a un probleme dans cette partie :
while (ss.available())
{
char c = ss.read();
Serial.print(ss.read());
// Serial.write(c); // uncomment this line if you want to see the GPS data flowing
if (gps.encode(c)) // Did a new valid sentence come in?
newData = true;
}
Tu as déjà lu un caractère. donc ecris plutôt : Serial.print(c);