Hi,
A “stuttering” seconds display, or missing counts in the seconds display is a classic symptom of multiple NMEA messages being transmitted by the EM-406A. If you turn off all NMEA messages except the $GPRMC message, you will solve this problem!
You can use the SiRFDemo software to configure the EM-406A for just the $GPRMC message, but if the modules loses power for more than a few days, it will revert back to a multi message format. A safer way to do this is to have your code send the correct configuration commands to the module on each power up. Here are the required commands:
“$PSRF103,00,00,01*08” (GGA set to OFF)
“$PSRF103,01,00,01*09” (GLL set to OFF)
“$PSRF103,02,00,01*0A” (GSA set to OFF)
“$PSRF103,03,00,01*0B” (GSV set to OFF)
“$PSRF103,04,01,01*0D” (RMC set to 1 Hz)
“$PSRF103,05,00,01*0D” (VTL set to OFF)
I’m kind of a “clock nut”, and over the last few years I’ve built a number of clocks including a 7 segment LED clock, a GLCD clock, and a Nixie clock. My designs are based on a RTC chip (the Maxim DS-1307, or the Maxim DS-3231) with optional GPS time/date syncing. These clocks will run without the GPS, and will auto-correct the time/date when one is detected. As you note, the GPS broadcasts UTC (Greenwich Time), so it needs to be corrected for local time if that is what you want to display. I’ve developed a couple of routines that do the conversion on the time/date to correct for the ‘UTC offset’ at the clocks location. My firmware allows the UTC offset to be adjusted from -12 hours to +14 hours from UTC. My clock routines also auto-compensate for leap year and daylight savings! It was a bit of a chore to test these routines under all conditions, but they seem to have held up quite nicely over the past couple of years!
Let me know if I can provide anything else to help!
John