Arduino is an amazing machine. This project is just one of the many. You can build your project as per the instructable or expand into more functions if you want.

We will construct a fully-interactive arduino powered alarm clock.
Here is a video of the alarm clock:

The alarm clock has the following functions:
1. Displays the time and date
2. User adjustable time and date
3. User settable alarms with various settings "weekday, weekend, daily, once, off", with buzzer and flashy led to wake you up.
4. Remembers its alarm settings even when power is removed.
5. More importantly, a special key that stops the alarm so you can get back to sleep!
6. Use the alarm function to power any shenanigans you want against your sleepy head :)

We will need the following parts:
1. Arduino duenilanove or UNO
2. Phi-1 shield kit for arduino

We will need the following tools:
1. A soldering iron. Anything from radioshack will work just fine. I use a set that is $8 with the iron and a few tools including some solder .
2. 45 degree cutter for electrical cords, to trim after you're done solder. You can buy one from radioshack or other places.
3. Optional third hand for holding circuit board. I can just lay the board down and solder it
4. Masking tape to hold down parts to be soldered

Let's get started!

Step 1: Step 1 assemble the Phi-1 shield

Please read the attached .pdf file for assembly instructions first. Then use the following pictures and steps to guide you.

Use masking tape to hold parts on the board and solder at least one pin. Be best if you can solder two pins on opposite ends of the headers. Make sure the headers are straight up and not tilted to the side.

After soldering the two pins, remove the tape and solder the rest of the pins. Then reuse the tape on the next parts.

1. Solder on the three rows of female pins first.
2. Solder on the three rows of male pins.
3. make sure you don't solder on these two pins 0 and 1.
4. Solder the 16-pin female headers for LCD.
5. Solder 5V and GND pins. This is for convenience when you use a breadboard.
6. Solder all 7 tactile switches.
7. Solder the Dip sockets and battery holder. Observe orientation.
8. Solder the crystal, one 220Ohm resistor, optionally the GPS connector.
9. Solder the variable resistor.
10. Solder the buzzer, + on top, the LED, short pin or a cut on the casing on left, 150Ohm resistor, 5V GND headers, and optionally the GPS breakout female headers.
11. Place the DS1307 and optionally the 24LC256 and the battery. Observe the orientation. Dot or grooves down for chips.
12. Solder male headers on the LCD. You just need 6 pins on each side.

Here is a 360 degree view of a complete shield:

Could I build this without using a phi 1 shield?
<p>instead of the buzzer can one incorporate a 12vd.c relay</p>
<p>How do you upload this? I am only familiar with .ino files.</p>
Nice project, except for serious timekeeping accuracy I'd consider using a Maxim DS3231 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal module instead of the Maxim DS1307. The accuracy of the former is +/-2ppm from 0C to +40C, which translates to about +/-1 minute per year. The DS1307 uses a discrete 32.767 kHz tuning for crystal, and if you check the datasheet and separate application note regarding the crystal, you'll see there's no easy way to trim the crystal frequency and assure high accuracy over time and temperature. <br> <br>Once the accurate timebase is available and the battery backup of the DS3231 makes it immune to power outages, well -- yeeoow! -- the Arduinuo can be used to make a clock with the wildest combination of features that you'll never find off-the-shelf anywhere.
I just ordered a Pi2 4-line LCD kit.<br><br>Are the Eagle files available for it?<br>I'd like to make a case for it on my cnc laser cutter.<br>(and I hate measuring if I don't have to...)<br><br>My intention is to make use of this project and combine it with a binary clock.<br>(a dual-display-mega-geek-alarm-clock, you might say...)<br><br>Thanks!
Really cool .. Could this alarms be set from the computer?
Thanks! Right now it doesn't have this function but it could be implemented. Do you mean, say, transferring 5 alarm settings to the arduino from computer? How is setting alarms through a computer necessary? I could work on this function if you tell me more about your requirement. Thanks.
Yeah i was thinking for some time about an alarm clock that i would be able to set with a script or even better to get the alarms from the settings of an computer alarm clock so that if i would combine it with &quot;this-hack-really-pushes-our-buttons&quot; from &quot;Ahackaday&quot; or something similar i could start the computer in the morning or whenever and then the computer alarm will run :D<br><br>Hope it makes sense
I'll look into it, see what I can do :)
Now that would bee really nice :D
Cool! Thanks for sharing.
You're welcome.

About This Instructable


77 favorites


More by liudr: Display super sized font on HD44780 20X4 character displays with Arduino Arduino tutorial - organize your projects Arduino alarm clock
Add instructable to: