You Are Here: Home » AVR ATmega Projects » Clock Projects » Seven day alarm Using Atmega644

Seven day alarm Using Atmega644


The variability of a college student’s class and school work schedule gives way to an abnormal sleep/wake pattern that is not experienced any other age group. Few lucky students have the pleasure of having all their classes start at the same time every day. However, most students do not have this luxury. This requires that most students reset their alarm clocks every night in to adjust to each day’s different schedule. Forgetting to reset the clock could result in sleeping through classes, or unexpected wake-ups hours before classes start. This abnormal schedule disrupts your circadian rhythm and makes it increasingly difficult to get out of bed in the morning. For some it leads to snoozing your way through morning classes.

Seven day alarm Using Atmega644

We have created a new type of alarm clock that will have a built in record of your weekly schedule so that it may wake you up at the right time, every time, every day. Our alarm clock will includes extra features that improve on the shortcommings of current alarm clock designs.

Features Introduction

Even chronic snoozers will have no excuse for sleeping through another class again. Each of the daily alarms will include a feature that indicates a priority for the wake up time. For example, a student may give waking up on Monday morning for class a high priority, while giving waking up for a Saturday morning jog a low priority.

The different priorities will determine how hard it is to disable the alarm. High priority alarms will be louder and annoyingly difficult to reset. This will ensure that the user is well awake before the alarm can be silenced. In contrast, a low priority alarm can be snoozed or disabled with the single press of a button.

The backlight LCD display will inform the user of the day of the week and the date. It will also display the next upcoming alarm to the user. The calendar feature of the clock automatically compensates for leap years. The alarm also features a ambient light controller that will make sure that the seven segment LED display is always an appropriate brightness.

User Input

We wanted to make sure that setting the time for the device was simple and intuitive. We were originally debating over two input methods. A simple interface with 4 navigation buttons or the use of a large keypad for data input. The added features such as the 7 day programmable alarms made it essential that data input was easy for the user.

It has buttons for incrementing and decrementing a value, a back button and an enter button. The keypad represents a 4×4 grid of buttons for user input. We ultimately decided that the navigational keypad would not only simplify the user experience when inputting data but would also help reduce the complexity of the state machine.

Block Diagram


Communication between chips takes place using two standardized communication protocols. The first of which is SPI interface. This is used by both the LED drivers and the digital to analog converter. We wrote the software to communicate over SPI to both of the chips. Both of the chips communicate using SPI standard 1. The clock calendar chip uses the I2C interface. To communicate to the clock calendar chip over I2C we used the library created by Peter Fleury. His open source software can be found at the link referenced at the bottom of the page.

Patents and Copyrights

Seven day alarm Using Atmega644 Schemetic

We were only able to find one other standalone programmable alarm clock. Although they seem to be the only unique product with this feature we do not infringe on any of their patents. We were only able to find patents for their user interface and not for their 7 alarm feature. Since the user interface of our clock is vastly different from theirs there are no patent conflicts.

Parts List:

Component NameQuantityCostVendorP/NProject CostTotal Cost
ChipsAtmel ATmega644 CPU16Land66
MCP 4822 12-Bit DAC13SampleMCP4822-E/P03
NXP PCF8563p Real Time Clock12.11DigikeyPCF8563P/F42.112.11
Allegro A6276EA-T Led Drivers23FSAE StockA6276EA-T06
DisplaysLCD 16×218.5All Electronics8.58.5
Unitech Systems 1″ 7 Segment Displays42FSAE StockLCS-10012TUR1108
Passive Components10k Potentiometer11Land01
32.768kHz Crystal11Ebay11
Misc resistors11Land01
Misc capicators11Land01
Other HardwareKeypad16Land66
Illumniated Buttons44DigikeyCW152-ND1616
Power Supply15Land5
Atmega PCB board14Land44
Lego Whitehouse150Stock21006050
Solder Board Small21Land22
Solder Board Large12.5Land2.52.5
DIP Socket40.5Land42
Total Cost:58.11132.11


For more detail: Seven day alarm Using Atmega644

Leave a Comment

You must be logged in to post a comment.

Read previous post:
A Budget Pachinko Machine Using Atmega644

Pachinko is a game in which a ball drops down through a large quantity of pegs and the objective is...

Scroll to top