Alphanumeric GPS Wall Clock
Lock Problems
Mikal Hart's TinyGPS++ library is excellent to get you up and running quickly with GPS.
The problem I found is that GPS clocks are often indoors, and, in the case of the SparkFun building, that makes it seriously difficult to get a GPS lock. We have lots of concrete, metal girders, and a large solar array that wreaks havoc with GPS signals (and pretty much all cellular carriers for that matter). TinyGPS++ reports the Time/Date only after you have a lock, so, when we moved the original GPS Wall Clock to our new building, I was somewhat mystified why it wasn't working. Posting a 'NOGPS' debug statement to the display helped show that we almost never get sufficient enough satellites to allow TinyGPS to report time and date. Luckily, it doesn't take a full lock to get date and time from GPS.
If you look at the raw NMEA sentences above, you should be able to pick out '040054' or 4:00.54 UTC. With only 1 satellite and a very bad view of the sky, we are able to grab time from GPS.
After a few seconds we can see the date come in as well - '220115' or January 22nd, 2015. The latest version of the Alphanumeric GPS Wall Clock uses a custom NMEA parser rather than relying on TinyGPS. It looks only for the availability of time and date, no GPS lock necessary. This allows us to display time in much harsher GPS environments.