this is a mutli-mode clock project based on attiny2313. it employs a 8x8 led matrix as display. with the limited resolution, this 12 hour clock shows time in 6 different modes.
the circuit employs row and column multiplexing to drive the leds, one row at a time, this gives a 12.5% duty cycle when "sets" of leds (8 of them in each of the 8 rows) are turn on briefly. current limiting resistors are eliminated to save breadboard estate and as we are not constantly driving individual leds, they are not going to be damaged.
the control (user interface) is also arranged so that we only use one tactile button for input. the firmware capture long button presses (press and hold) for menu rotation and normal button presses for menu selection.
this is a hobby project and the clock is only as accurate as your internal oscillator calibration. i had not use a crystal in this project as doing so will upset the "matrix on top of mcu" breadboard layout. a crystal can be used to increase accuracy on a alternate breadboard layout (or pcb). with software compensation, i can achieve may be within 2 minutes off a day. i would need to adjust the time every 3 or 4 days to keep it usable. this is more a cubicle talk piece than a swiss time piece.
Below is video on full construction
Step 1: Display Modes
hhmm mode (see attached image 1) , typical hours plus minutes scrolling digits with colon separator.
seconds mode, shows only seconds.
tix mode (see attached image 2), led matrix is divided into quadrant, the upper quadrants shows the hour in bcd (binary coded decimal) values. they are represented by the number of dots to indicate the digits. the lower quadrants show the minute in bcd. i.e. for 9:36 it shows no dot + 9 dots on the upper half and 3 dots + 6 dots on the lower half.
dice mode (see attached image 3), the led matrix is divided into two set of 'dices'. with the upper pair showing hour from 1 - 12, the lower pair of dice shows minutes in 5 minute increments. i.e. for 9:45 it shows dice value 9 (upper) + 9 (lower) (9 x 5 min).
binary mode (bcd, see attached image 4), the hour, minute and second digits are show as binary dot on different rows in the led matrix. the rows 0 and 1 (from top) represents the hour digits, rows 2 is blanked, row 3 and 4 represent the minute digits, row 5 is blanked, row 6 and 7 represents the second digits.