I really like clocks and it's been a long time since I decided to build my own clock based on satellite calculations.
This clock takes the time from satellites above, calculate the time zone and display several information such as year, month, day, the number of satellites that are in use, and the time, I had to make many research to find the code that would work with that project.
I had a couple of MAX7219 8 digits and a GPS module laying around and decided that it was time to use them.
First, you have to download and install the library: TinyGPS++ from GitHub from this site: https://github.com/mikalhart/TinyGPSPlus/blob/master/src/TinyGPS%2B%2B.h
Once the library is installed, you can upload the code to Arduino. In this project, an Arduino Nano was use but an Arduino Mini pro could be best but, I did not have one on hand.
The circuit is quite simple as you can see in the image below
And this gives the following circuit board
The following image contains an overview of all the modules connected together
The G-Code required to cut the PCB was produced using Flatcam and the final result is shown the following image.
To see all the details, go to my YouTube video:
also on Arduino.cc
Note: If you decide to build this project, you must know this:
- It can require up to 5 minutes to get the correct time (other than 00:00:00) or date
- The information displayed may be wrong until enough satellite are detected such as the hour which may display wrong information like 35:00:00
- You must wait to get at least 4-5 satellite before to confirm that the time is OK