[CoreWeaver] creates an alarm clock that includes features one might expect in such a project, including an FM radio, snooze button inputs and a display, but goes beyond the basic functionality to include temperature sensing and a PC connection, opening the way for customizable functionality.
An Atmega328 is used for the main microcontroller which communicates via I2C both to a DS1307 real time clock (RTC) and a TEA5767 FM module. The main power comes from a 9V power source with an LM317 and LM7805 linear regulators providing a 3.3V and 5V power rail, respectively. Most of the electronics are powered using 5V except for the TEA5767, which is powered from the 3.3V rail and has its I2C communication levels shifted from 5V to 3.3V. The audio output of the TEA5767 feeds directly into the TDA7052 audio amplifier to drive the speakers. Since the RTC has an auxiliary coin cell battery for power, the alarm clock can keep accurate time even when not plugged in.
A piezo buzzer is used for a more jarring alarm and a 20×4 LCD matrix is used, with [coreWeaver] creating a custom numerical font to create large format numbers for the display. Two DS18B20 digital thermometers are used for temperature sensing, one placed outdoors and one placed indoors, with the microcontroller using a 1-wire protocol for communication. A custom 3D printed enclosure is made, complete with snooze button and knob, to provide a compact housing for the project.
The USB to serial UART communication opens the way for fully customizable alarm schedules, radio tuning or other actions based on time, temperature or whatever else. [CoreWeaver] has all design files and source code available on GitHub, including a full bill of materials (BOM) and schematics, allowing for ample opportunity for any hacker wanting to extend or customize the project further.
Alarm clocks are a mainstay here at Hack-a-Day and we’ve featured projects
ranging from nixie tube alarm clocks to light alarm clocks. [CoreWeaver] has started a video series describing the build, so be sure to check out the video after the break!