The first propeller-based NTP clock that I created worked just fine as desktop clock, but I decided I wanted to make myself a nightstand clock as well. This one would need several additional features -
- larger digits that I can see at night without wearing glasses
- alarm clock sound effect to wake me up in the morning
- white noise generator to aid with sleeping in noisy environments
I decided to adapt the design of my original propeller-based NTP clock while adding the following features:
- Better driver ICs for sinking and sourcing the current necessary to power larger LED displays. Instead of using a 3-8 decoder to sink the digits, I used a 74HCT164 shift register together with a ULN2803 darlington array. This is a bit overkill, but ought to be able to sink even the largest of digits. Using the shift register freed up a couple of IO pins for use in other features.
- An onboard audio amplifier for doing the alarm tone and noise generator feature. I used a TPA6021 amplifier.
- An SD-card slot so that I can put custom alarm tones and white noise sources
- A PCF8574N IO expander was used to add additional inputs for more buttons for the user interface (need a sleep button, alarm on/off buttons, white noise generator, etc).
This required me to go to a two-board approach with one board for the display and one board for the electronics.
Here is a picture of the completed clock: