After months of putting this project off, I finally focused for a weekend and put together a first prototype of my DIY real-time clock. To bring you back up to speed, the clock circuit is on a custom designed PCB which will control another set of custom PCBs that form four large 7-segment digits. It uses an Atmega328p microcontroller, a DS3231 RTC IC to keep the time, and some 74HC595 shift registers to control my custom 7-segment display PCBs.
The boards were soldered without any issue. I’m quite pleased with the look of both of the boards, so much that I wanted the control board to be in plain view in this build.
Once I got the boards ready, it was time to program. My first test would be to try upload something the microcontroller and to test out the display. It worked as well as I could have hoped.
One thing that I could have done better with the control board was to use an FTDI header instead of the USBtinyISP since you can’t print anything to the serial port to debug. Thankfully, I didn’t need that anyway.
After setting the time on the DS3231 IC using example from the Sodaq_DS3231 library, I wrote some code to the form all possible digits for each 7-segment digit. Then, with some more code, I was able to print out the hour and minute on the display.
I thought about putting it into a good enclosure but I’m considering rebuilding this project a second time with a cleaner look.
I’m not so crazy about using the female-to-female jumper wires in the final build but it does kind of look neat.
The display is very nice to look at in all lighting conditions. The not-so-bright LEDs and the simple blank white paper diffuser results in a display that is easy on the eyes.
Overall, I’m glad with how the project turned out. Unlike many of my other projects, this is one that I actually use on a daily basis.
Thanks for reading!