Introduction: Slap Alarm Clock With Arduino

I do not know about you, but a simple alarm clock is not able to wake me up. I need light, sound and even soft slap to wake up.

No alarm clock appeals to me, so I decided to make myself one, worthy to wake me up.

Even though it seems the alarm clock is hitting you, you would only feel some soft taps.

In this project you will learn how to program an alarm clock using an Arduino board, an RTC and a TM1637. It is super easy!!!

Main goal:

  • Wake up a giant.


  • Foam Sheet
  • 3D Printer
  • ATarduino 2560 board
  • Cables
    • Large
    • Short
  • Servo
  • RTC ds3231
  • 10 leds
  • Silicone | Silicone gun
  • TM1637
  • 4*4 keypad
  • 1 Buzzer
  • 2 Push-button
  • 1"sensor reflexivo de suelo" | Linear IR LED Sensor (it is the same thing, however it has 2 different names)
  • 1 Mini BreadBoard
  • Ice Cream Sticks
  • 2 small pen-spring

Step 1: Develop the Idea

I must have my mind clear before starting.

The TM1637 should be showing the actual time, in the push-button N1 is pressed it will be shown the following text:"ALA:)"

In case the keyboard is pressed, the key pressed will be shown on the TM1637, when it is being pressed the 4 digits of the alarm, the hour will be shown again on the TM1637.

If you want to see the when is the alarm, you just press the push-button N2.

When the hour is the same as the alarm, the servo will start to move, the led will start to flicker, on the TM1637 the word UP will start to flicker and the buzzer will start to sound, until you the "sensor reflexivo de suelo" | Linear IR LED Sensor detects black.

When the "sensor reflexivo de suelo" | Linear IR LED Sensor detects blacks the alarm would be reset, and everything will start again.

Step 2: Taking the Measure

We should have clear where everything should be and what the distance is between everything.

It is important to know how much cable should we need.

To know the exact place of the "sensor reflexivo de suelo" | Linear IR LED Sensor lie down on the bed and stretch the arm as much as you can without rising up.

The "sensor reflexivo de suelo" | Linear IR LED Sensor will is the button that stop the alarm, I do not put it near to me, because I would fall asleep again.

By making the effort of stretching my body and it is easier to wake up.


Print the .stl files I am leaving you below.

The big one is for the keypad, buzzer, TM1637, and the 2 push-button.

The duplicated are for the leds, and the other one is for the "sensor reflexivo de suelo" | Linear IR LED Sensor.

Step 4: Upload the Code

Upload the code I am leaving to your board.

You will need the following libraries, I am also leaving a link. You just have to download it:

Step 5: SOLDER

I solder everything (except the leds that I solder later) as shown on the picture, taking into consideration the distance of cable I would need.

Remember not to connect nothing to the TX pins.

Then cover the tin with silicone, be careful, what I did was, put on some silicone, wait a minute, wet my fingers, and then give it some shape.


Step 6: Glue to the 3d Printed Pieces

Glue the components as shown on the picture.

On the push-buttons I added little circles.

Step 7: How to Glue the "sensor Reflexivo De Suelo" | Linear IR LED Sensor !!!!!!

This is how I glue the "sensor reflexivo de suelo" | Linear IR LED Sensor.

As I do not have more push-button I transform a reflexive| on a push-button.

Cut some insulating tape (black) or black paper in front of the "sensor reflexivo de suelo" | Linear IR LED Sensor.

Stick the 2 small springs on the tap. As the tap is totally white (if it is not glue some white paper) when this hand-made push-button is not being pressed, the "sensor reflexivo de suelo" | Linear IR LED Sensor will detect black, however, if I press the lid, the "sensor reflexivo de suelo" | Linear IR LED Sensor detects white.

Step 8: Sold the Leds

Solder every led taking into consideration the distance between them.

I strongly recommend to solder them after printing and use the 3d printed piece as a reference.

After soldering just add some silicone.

Step 9: Decorate With Foam Sheet (optional)


Apart from decorate it, I added the number to the keys,and wrote "See the alarm" to make a distinction between the 2 push- buttons (one is for establishing the alarm the other or seeing the alarm).

Step 10: Glue to the Bed

Glue everything to the bed, I used silicone, because in case you have made a mistake it is easier to take off.

Step 11: Organize the Cables

I used some clamps where most of the cables were (on the Arduino board), and added some silicone (it can also be used, some insulating tape) to maintain the cables still next to the bed.

Step 12: Making the Hands

  1. Draw and cut 2 hands on the foam sheet (to cover the entire pillow)

  2. Stick the 2 hands between 2 ice-cream stick

  3. Glue another ice-cream stick perpendicular to the last one, as shown on the picture.

  4. Glue the servo arm to the border of the ice cream stick (to the one you can see on the picture).

  5. OPTIONAL: Although the slap-hand should be light, I stick 2 ice-cream sticks, introduce it between the bed and the cable and let the foam sheet hands support on it. As the hands are made of foam-sheet that is flexible, when the servo starts to move, the ice-cream supporting the hands would not be a problem.

Step 13: Lengthen the Arduino Cable and It Is DONE!!!!

I tried to use some batteries to supply the board, however, it did not work, it seems it was not enough energy.

I lengthen the Arduino cable, by doing so you have to:

  1. Cut the Arduino cable, you will see there are 4 cables inside: green, white, red and black
  2. Strip the all the cables about 0.4 inches- 1cm.
  3. Solder the USB cables to the long cables.
  4. Then solder the Arduino port cable to the long cables, remember soldering the green with the green, red with red, black with black, white with white

Remenber that when the alarm clock is not connect the time won't be reset because the RTC, will be counting time.

THAT IT IS!!!!!!

I hope you have enjoyed reading the same I have enjoyed doing it.

Clocks Contest

Participated in the
Clocks Contest