Qwiic GPS Clock

Pages
Contributors: bboyho
Favorited Favorite 2

Troubleshooting

Wrong Date and Time

If you adjusted the zoneOffsetHour, enableDST, and code at the begnning of the calcZone_DST() function to your region and still have trouble getting the correct date/time, there may not be enough satellites in view. You may need to wait a bit longer for the GPS module to get the date/time. Depending on the display, you'll notice the !D, !T, X, or "--:--" when the date and time is not valid.

If you still have problems, you may want to consider moving the GPS clock to a different location to avoid problems with RF interference, urban canyons, or harsh environments (e.g. a concrete building). Try adjusting the code to read the amount of satellites in view using example 0 by removing the single line comments // inside the update_Time() function.

language:c
  //Serial.print(F(" SIV: "));
  //Serial.print(SIV);

All it takes is at least one GPS satellite to zoom by for the GPS module to latch onto the date and time. Luckily, you do not need to have a GPS lock for this to happen. As long as it is powered up, the GPS will keep ticking away. If there is a power cycle, you'll need to be patient for it to pick up another stream of data. For more information, check out the tutorial linked below. Note that the Alphanumeric GPS Wall Clock tutorial uses a different GPS library and a Serial UART.

Arduino Warning: Low Memory Stability Problems

If your code compiles with the following warning, this may be caused by the resources being used and the size of the Arduino's RAM.

language:bash
"Low memory available, stability problems may occur"

Arduino Warning

Depending on how many resources are being used, this may affect the performance of the code when displaying the date or time. There are a few methods to avoid the warning or reduce the probability of an issue occuring when the code is running. This is briefly explained in the Qwiic micro OLED example