Laser Diode Clock

This laser diode clock is a very inexpensive clock that can be viewed from a distance and takes up minimal space. I came up with this idea when I realized that my desk is always packed so much that I could not fit a clock on it. It started to become a nuisance to turn on my computer and to scroll to the top of my computer to view the time so I thought about making a clock that would not take much space. That is when I came up with the idea of creating a laser diode clock.
Supplies
Components/Materials Used
1. Arduino Nano (you can use any board but the Nano saves the most space) Amazon
2. 5V Servo Motor Amazon
3. Wires Amazon
4. Arduino Nano Terminal Adapter (Optional) Amazon
5. Mini USB Cable (With Data Lines) Amazon
6. Paper / Whiteboard
7. Tape
Tools Used
1. Hot Glue Gun / Hot Glue Amazon
Concept
Through the PySerial and time libraries, Python sends the time through a serial port. Based on the time, the servo motor turns to shine the laser diode at the paper with the hours of the day written. The entire project is about 1.5 in by 3 in by 3 in.
Build Circuit

Build the following circuit. Note that the LED represents a laser diode.
Completed Circuit

I recommend adding solder to the ends of the wires to thicken them. This allow the screw terminals to have a better grip on the wires.
Glue Laser to Servo

Using a hot glue gun, apply glue to the servo horn and place the laser diode onto the glue.
Create Display Surface

To create the display surface, first fold a letter sized piece of paper into 24 equal sections. If you choose to, you can fold the paper once vertically and cut on that line. Finally, write the hours of the day on the strip of paper, one hour in each section.
Positioning


Tape or glue the servo motor to the side of a table or other furniture. Make sure the laser diode is pointing perpendicular to a wall or other surface to ensure that the the laser diode will point onto the time.
Tape the paper with the times on it to a wall to which the laser diode can shine on. Temporarily detach the wires of the laser from the Arduino and attach to a battery. Ensure that the servo can swing to point at any hour on the clock.
Calculate Laser Range

Download the following sketch onto the Arduino and note the values at which the laser points to the ends of the clock (They will be displayed in the serial monitor). These values are the degrees at which the laser is turned at. Using these values, we can calibrate the clock.
Downloads
Code
Edit the Laser_Diode_Clock sketch by editing the last two parameters of the map function in the line "myservo.write(map(Serial.readString().toInt(), 0,180, 104,75));" to the values you received through the calibration. These values will most likely be in reverse order.
Download the Laser_Diode_Clock sketch onto your Arduino.
Download and run the "laser clock.py" file on your computer, with Python. If you get an error saying that a library is not installed, it is likely that you do not have the serial library installed on Python. To install it, go to your devices command line and enter "pip install pyserial".
Serial Port

To get your laser clock up and running, the final thing that you have to do is to adjust the serial port in the Python file. Where the file says "arduino=serial.Serial('/dev/cu.usbserial-1420', 9600)", change the first argument of the serial.Serial function to the information on the bottom right of the Arduino window. In the image provided here, that is "/dev/cu.usbserial-1420"
,