Introduction: Hard Disk Clock (HDD Clock With Arduino Uno)

This is a fun project that can be done easily and also cheaply. In this instructable we will explain step by step how to make this beautiful POV clock.

Used material:

  1. Arduino Uno,
  2. Tiny RTC modul,
  3. ULN 2003,
  4. IR diode and IR transistor (used like a sensor, more details in next steps)
  5. 4 pushbuttons (for controling the clock)
  6. TSOP4838 (allows us to control the clock with remote controler)
  7. Temperature sensor (DS18B20)
  8. RGB led strip
  9. Connectors,
  10. Paper,
  11. And of course and old hard disk with working motor.

Step 1: Begining (Disk, RGB, Sensor)

So before we get to the electronic part of this clock I want you to take your hard drive and with a screwdriver to remove the disks from the motor. The most important part of this clock believe it or not is the cut made on the one of the disks. This cut allows us to use POV effect. All this allows us to display the time.

To create this slot we have used the CNC machine. These discs are very difficult to cut, and because of that CNC machine needs plenty of time to get this done. We recomendo that you use a grinder for this cut. On the third picture there is an example how you shuld make this cut. Be sure not to cut entire side of disk, you should leave a few inches as shown in Fig 2.

Before you put the disk back on the motor you shuold mount RGB strip and sensor. Also i noticed that you can better see the time on clock when there is the white backgroud behind the disk.Take a sheet of paper and use one removed disc of the Hard drive to draw a circle. This should help you cut paper precisely. When you do that glue the paper for hard disk

For this clock we have used the photodiode and phototransistor as a sensor. Such a sensor with casing can be found in the printer, so we got one of those from an old printer.The role of the sensor in this clock is to tell microcontroller in which the position cut made on disk is.That way he is able to show time. You should use three wires and solder them for those 3 pins of the sensor.

You have to mount the sensor on the little white fellow marked red on the Fig 5 because the program is made for that position. And to be realistic, this is the easiest place to put him.

Now you can put the disk back.

Step 2: It's Time to Build

So in this step you can download eagle files with PCB. This boards are going to be places up front. One of them is used for powering the sensor and RGB strip. Second board is used for controling the clock with pushbuttons.

First pushbutton is used for entering the programing mode of the clock. After we activate it we can change hours (second pushbutton) and minutes (third pushbutton). When we want to change color of the clocks hand we use fourth pushbutton. Then with second pushbutton we can change color and with third the hand of the clock that we want to change.

You can see how to connect this boards in the eagle files.

Step 3: Connecting the Arduino

So now what you need to do is to connect Arduino. I have put my Arduino on the back of the hard disk as shown in the Fig. All the wires that are coming from the front PCB of the clock connect as explaind in the last Step. In this step you only have to connect tiny RTC modul. You can do that by connecting 5V, GND,SDA, SCL pins.

SDA pin connect to analog pin A4 on arduino, and SCL pin connecto to analog pin A5 on arduino.

It's time to program the Arduino and RTC. You first need to program the RTC. Download the RTC file and upload it to Arduino board. When you do that restart your arudino, start serial monitor and follow the instructions.

When you do that download final.ino and upload it to arduino board, and that is it. You only now have to power the clock and i recomend that you use PSU ( Power supply unit) because you need to power the hard disk circuit (and you need special connector for it) and for the clock you need to have 5V ( Arduino...) and 12V (RGB strip).

Step 4: Optional: Temperature Sensor and Remote Control

If you want to use temperature sensor then you have to use the remote control. Because that is the only way to tell the clock to show temperature (no pushbuttons on the front of the clock that can activate clock so that he show temperature). We used temperature sensor DS 18B20 and we recomend that you use the same. Connect the output of the sensor for pin 4 on the Arduino Board.

For the ir receiver we used TSOP 4838 and you should have some programing skils because in the program you have to define buttons that you want to use.TSOP is connected to pin 3 on arudino board.

In the end, what you really want is that your watch looks great. Create a housing and have fun.

If you have any problem or question feel free to ask.