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 include extra features that improve on the shortcomings 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 a 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 an 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 Name Quantity Cost Vendor P/N Project Cost Total Cost
Chips Atmel ATmega644 CPU 1 6 Land 6 6
MCP 4822 12-Bit DAC 1 3 Sample MCP4822-E/P 0 3
NXP PCF8563p Real Time Clock 1 2.11 Digikey PCF8563P/F4 2.11 2.11
Allegro A6276EA-T Led Drivers 2 3 FSAE Stock A6276EA-T 0 6
Displays LCD 16×2 1 8.5 All Electronics 8.5 8.5
Unitech Systems 1″ 7 Segment Displays 4 2 FSAE Stock LCS-10012TUR11 0 8
Passive Components 10k Potentiometer 1 1 Land 0 1
Photoresistor 1 1 Land 0 1
32.768kHz Crystal 1 1 Ebay 1 1
Misc resistors 1 1 Land 0 1
Misc capicators 1 1 Land 0 1
Other Hardware Keypad 1 6 Land 6 6
Illumniated Buttons 4 4 Digikey CW152-ND 16 16
Power Supply 1 5 Land 5
Atmega PCB board 1 4 Land 4 4
Lego Whitehouse 1 50 Stock 21006 0 50
Whiteboard 1 6 Land 6 6
Solder Board Small 2 1 Land 2 2
Solder Board Large 1 2.5 Land 2.5 2.5
DIP Socket 4 0.5 Land 4 2
Total Cost: 58.11 132.11

For more detail: Seven-day alarm Using Atmega644

About The Author

Scroll to Top