Main Content

Introduction: This is an user friendly tiny digital table clock where user can access all basic functions of clocks including setting alarms, viewing temperature, viewing date, setting date and time, etc. It has a buzzer for alarm and four push buttons (Menu, Left, Right, Cancel) for user interaction. It can be powered by a standard micro USB cable.

Its user interface is very simple. User can enter menu and then change the clock parameters (time, date, month, year, alarm, etc). The alarm parameters are stored in EEPROM of ATmega 328p so it dosen’t forget alarm even if the power cuts. Each and every part of clock is detachable as shown in figure. It also comes with serial UART interface headers for any future firmware upgrade.

ATmega328p provides 20 GPIOs (14 digital and 6 analog) but as we are using seven segment displays we will be requiring 28 (7*4) pins only for seven segment display alone. To avoid this issue we will be taking advantage of persistence of vision of human eye which I will discuss in later section.

Supplies:
You will be requiring these components and instruments if you want to duplicate this instructable.

Components:

DS3231 RTC Module
ATmega 328p IC with preloaded bootloaded
4 seven segment displays
5V mini buzzer
4 push button SPST
Resistors: 10K ohm - 11units, 220 ohm - 4units
22pf capacitors - 2units
16Mhz XTAL oscillator
Male berg strips - 2units, female berg strips - 2units
Two 4*2 inch dot matrix PCBs
28 pin DIP IC base
Micro-b port
Instruments:

Soldering gun, soldering wire, soldering paste.
Digital multimeter.”

Link to article