AVR Based Alarm Clock

Introduction

 

avrclock Not being satisfied with just a plain boring digital or analogue alarm clock, I decided to create one myself. What I wanted was a white backlight LCD screen with large numbers that weren't in the usual 7 segment format. As for features it had to of course show the time, have an alarm, have that alarm be able to be set to which day of the week it goes off on, read the room temperature, read the room humidity, have a pleasant alarm sound, and be easy to set. What I ended up creating has all of those features, plus a few more. Read on...

This was my first ever micro controller based project. I have had a bit of a tinker with AVR's when I had one as a Hotchip. This was a little 40 pin module with a AT90S8535 on it, along with a RTC and serial driver. It could be programmed with a quite unreliable BASIC programming language and downloader. After a little search on the web I found Bascom AVR, and purchased a copy of that. Bascom AVR is a BASIC compiler for the AVR family of RISC controllers and it comes with libraries to drive all manner of peripheral devices to your micro controller, including one to drive KS0108 based displays. That display driver was handy as that is the heart of the AVR based alarm clock. I started off programming the Hotchip board for an early prototype and to test Bascom and the display library out. But my code soon exceeded the memory of the AT90S8535. I switched to a ATMega16, but ran out of memory on that too. I ended up using a ATMega32 running on its own internal clock of 8MHz. I find it quite nifty that the alarm clock I built is running on a processor that seems more powerful than my first computer! (A Commodore 16).

The Breadboard Stage
Putting it in a case
Operation Details
Resources

Like this site? Recommend it by clicking the +1 button