Saturday, January 12, 2019

An Alarming Project

My year end break project has been to construct an alarm clock.  It is mostly finished.

The clock features:

  • Alarms are flexible and programmable.  Alarms can be configured to override other alarms, run on specific days of the week, or only in a particular date range.
  • A countdown timer displaying the amount of time until the next alarm sounds.
  • Motion sensor, which can cancel an alarm, and also when triggered, lights a string of colorful LED's under the edge of the bed, providing a night-light when needed.
  • Separate button module, which can be conveniently placed away from the display unit.
  • Ceiling projection of the time, date, weather, upcoming alarm details.
  • Ring sounds can be a buzzer, sound or music file, midi file, or an internet radio station.
  • It can also play internet radio stations, or sound files when desired.
  • A companion app to configure and program the alarms. 


I built it using a Raspberry Pi W, Arduino Leonardo pro-micro, bits and pieces from Ebay, and some found & recycled parts.  I also wrote lots of software for the Arduino, companion app and system software.

I can easily add other features now, such as turning on wifi-controlled lights and switches, sending messages, etc. No plans to though.  Yes, there are a lot of cables!

The companion app.  The box is what is displayed by the ceiling projector.


The list of alarms that have been configured.


The screen to configure an alarm.


The list of different ringers. I can add anything I like.


Ringer configuration & testing screen.