Arduino Digital Clock With Alarm Function (custom PCB)




Introduction: Arduino Digital Clock With Alarm Function (custom PCB)

In this DIY guide I will show you how to make your own digital clock this alarm function.

In this project I decided to make my own PCB that is based on Arduino UNO microcontroller - Atmega328p.

Bellow you will find the electronic schematic with PCB layout so you can easily produce it.

By pressing the buttons you will be able to set time/date/alarm and alarm state (on/off).

The alarm can be turned off by pressing the alarm button or by shacking the box.

Updates and more can be found here:

Let's get started.

Step 1: What You Will Need - Hardware

Step 2: The Circuit at EasyEDA, the Free Online Circuit Design Platform

Enter here to see and make any changes to the above circuit.

Step 3: The Code

How to program it:

Connect your circuit with TTL to USB module with 5 cables to the programming header.

The pins RX and TX must be cross-connected.

NOTE: If you are using the Arduino UNO board make sure to remove the ATmega328 IC from it first and connect the headers RX to RX and TX to TX pins of the board. The RS pin must be connected to Arduino UNO reset pin.

Download the code from here and open it with Arduino IDE. Inside you will also find the library file.

Step 4: JLCPCB - Make Your Own Circuit Boad From 2$!

Enter here to produce your PCB board!

Use JLCPCB for $2 PCB Fabrication & 2-day Build Time, the quality is really good, check the below photo of our pcb board.

Step 5: 3D Parts

Step 6: Well Done!

I hope you liked this, let me know in the comments!!!

1 Person Made This Project!


  • Block Code Contest

    Block Code Contest
  • Clocks Contest

    Clocks Contest
  • Game Design: Student Design Challenge

    Game Design: Student Design Challenge



Tip 4 years ago

Sorry but you can't use the SPI as a program method with this custom pcb board.


Tip 4 years ago on Step 3

You do not need to remove the chip from the Arduino to program. You can build a minimal circuit on the breadboard for the chip (I think this would be required anyway) and upload the ISP program to the chip on the uno, and then program the chip via "upload using ISP". My chip sits so firmly on the uno, I was afraid to break it during removal, so I left it.


4 years ago

Thank you very much for your comment! I really appreciate it!
* Part list updated
* About video, I will try to make a better one next time and I will follow your advice
* I understand what you are telling me about easyeda and I will agree with you
* About JLCPCB, I will disagree with you, the quality of my PCBs is very good
* About connections, PCB layout has labels for all connection parts, plus CN1 (power).