I have 4 NEO-GPS-7M modules I can find, and 3 hiding from me. I tested all this morning, with these results:
Module 1 indicated location: LAT.919403 LON.866851
Module 2 indicated location: LAT.920215 LON.866485
Module 3 indicated location: INVALID
Module 4 indicated location: LAT.920230 LON.866493
LAT & LONG obfuscated for privacy, what matters here is consistency to the right of the decimal point.
If these lines:
{
Serial.print(gps.location.lat(), 6);
Serial.print(F(","));
Serial.print(gps.location.lng(), 6);
}
are changed to:
{
Serial.print(gps.location.lat(), 4);
Serial.print(F(","));
Serial.print(gps.location.lng(), 4);
}
the outputs are consistent
so, don't bother going for 6 digits of precision with a module that is only consistent to 4 digits.
The INVALID location module will work fine for a clock.