An alarm clock that makes you play simon to wake you up
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Memory Game Alarm Clock

A device to make waking up easier by challenging your mind in the morning.

See the blog post here:


  • Requires a memory game to be beaten to turn off alarm
  • All functions of alarm clock are controlled by 4 memory game buttons
  • Buttons light up whenever pressed for feedback
  • Intuitive alarm and time setting
  • Adjustable brightness
  • Adjustable difficulty
  • 12/24 hour time display modes

Demo Video

See all the features in the demo video.

How to Use

  • The leftmost button controls the alarm time, while the next button to the right controls the current time
  • The right two buttons are for + and -
  • Without holding down any other button, + and - control the display brightness.
  • With the alarm set botton held, + and - change the alarm time
  • With the time button held, + and - change the current time
  • With the leftmost two buttons held, + and - change the difficulty level
  • The alarm set button is double-pressed to toggle the alarm on or off



This project brought together a lot of smaller projects I had worked on in the past. The below sections describe the various subsystems that all came together to make this project.

Real Time Clock

The DS 1307 real time clock requires a crystal, resistors, and a 3V battery. It communicates to the ATMega328 by the I²C protocol.I started out using a breakout board kit for prototyping, but for the final design all the support hardware was put onto the alarm clock circuit board.

ATMega238, buttons, lights, and memory game

The ability to create my own smart device based on the ATMega328 without an Arduino was learned during my Arduino independence project. Using the same support hardware, I was able to build onto that project to form the complete alarm clock circuit board.

The logic for the memory game was pulled from my Arduino Simon project.

LED Display

The circuit board design for the LED display was pulled from my MAX7219 7 segment LED driver board project.


  • ATMega328
  • DS 1307 Real Time Clock
  • Coin battery holder
  • 220Ω resistors
  • 10kΩ resistors
  • 100Ω resistor
  • 10 mF capacitors
  • 16 mHz oscillator for ATMega328
  • Buzzer
  • Buttons with built-in LEDs
  • Power jack
  • Body/housing
  • Male and female headers for stacking design


See the included Fritzing diagram (.fzz file) for details.


Creative Commons License
Memory Game Alarm Clock by Jeremy Wilson is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.