But I needed another Arduino project as I had made a K3NG morse keyer. I love this keyer because it is unique in supporting a display where you can see what you send. But I wasn't using the morse keyer all the time, so I wanted the hardware to serve two purposes. That's the excuse for also making a clock.
Its main features are:
- Controlled by a GPS module outputting data over a serial interface, and handled with the TinyGPS++ library
- Shows raw GPS data such as UTC time and date, position, altitude, and number of satellites
- Shows derived GPS data such as 6-digit locator
- Finds local time and handles daylight saving automatically using the Timezone library
- Finds local sunset and sunrise, either actual value, or civil, nautical, or astronomical. The library is Sunrise.
- The clock also gives local solar height based on the Sunpos library from the K3NG rotator controller.
- Finally, the clock also provides the lunar phase based on ideas found here.
The hardware for the K3NG keyer includes a speed pot and a memory bank selector (to the right) as well as four push buttons on top for selecting memories. The pot now controls the intensity of the display, but the bank selector switch is not used. Of the four push buttons, only button 1 is used (later two are used). With it one can toggle the clock through various displays as shown below.
