Welcome to my tutorial on how to make lovely, laser-cut clocks! I got the inspiration for this project from the fact that I had to go to some weddings this past summer and I wanted to make some personalized gifts for the people getting married. I also thought it would be a good way to apply some mathematical principles I was learning, which I will cover in the first part of this tutorial. I'm not sure how well I can cover that, but either way I will provide some Python code so that you can make as many designs as you like. Additionally, I have a bunch of designs that I have created that will be included in the project files as SVGs.
For this project, you will need:
- plywood or acrylic for the clock dial
- vector graphics editing software
- access to a laser cutter
- a clock movement with 1/4" shaft
Optional materials include:
- white paint
- 120 & 220 grit sand paper
- dark stain
- wood glue
- 4 X 3/8" screws
- wood sealant
Let's get started!
Step 1: The Math...
I thought this was one of the most interesting parts of this project, however I won't hold it against you for skipping this section. Hopefully I do an OK job at describing what is going on, but please refer to the book Creating Symmetry: The Artful Mathematics of Wallpaper Patterns by Frank Farris. He does a really great job at describing how these symmetries happen. For a shorter but more "hand-wavy" look, check out this Quanta Magazine puzzle and it's solution. I will actually produce a solution to the Quanta Magazine problem and have it ready to go in the code I post below.
In order to understand how we get symmetry, we first have to know that e^(i * 2 pi * C) = 1 for any integer C. This comes from Euler's identity, which I will not talk about here but it's super important and everyone thinks it's the greatest, so check it out. I used the above fact to derive the "A" curve from the Quanta problem (see pic), which is talked about in the Quanta problem's solution a bit. In the derivation, "k" is the number of symmetrical components that we want in our curve. Like both "m" and "n", "k" has to be an integer in order to have a symmetric curve. In the code below, we see that C1 = 1 and C2 = -3 with mod = 5 in order to produce the curve from the problem. The mod variable stands for "modulus" and should be the same number as "k". (Note: to run code, the numpy, matplotlib, and sympy libraries must be installed.)
import numpy as np import matplotlib.pyplot as plt from sympy import exp, I, re, im, symbols, lambdify t = symbols('t') fig = plt.figure(figsize=(6,6)) # For mod = 12, remainder can only be [1,5,7,11] remainder = 1 mod = 5 l = remainder m = 1*mod + remainder n = -3*mod + remainder coeffs = np.array([1, 1/2, I/3]) exps = np.array([exp(l*I*t), exp(I*m*t), exp(I*n*t)]) f = (coeffs*exps.T).sum() x = lambdify(t, re(f)) y = lambdify(t, im(f)) xarray = [x(t) for t in np.linspace(0, 2*np.pi, 5000)] yarray = [y(t) for t in np.linspace(0, 2*np.pi, 5000)] plt.plot(xarray, yarray) plt.axis('off') plt.gca().set_position([0, 0, 1, 1]) #plt.savefig(r'path\to\folder\test.svg') plt.show() print('\t\t\t' + str(f))
But why did I go through all of this trouble? Well, I think it's pretty cool, but I also wanted to learn all of this to make clocks with 12-fold symmetry. That way, there is no need to put some ugly numbers on the face and people can still see what time it is easily. What's great is that all we need to do to make curves with 12-fold symmetry is change mod to 12 in the code above! After that, try changing some of the coefficients of mod for n and m and the numbers in the coeffs vector and see what kind of curve it makes. One thing to note, if you change the remainder, you might get curves with 2, 3, 4, or 6-fold symmetry. It is super weird, but it comes from the fact that integers matter! Let's take a look at an example:
If k = 12, and m = 1 * k + 2 = 14,
then (m - 2) / k = m/k - 2/k = 14/12 - 2/12 = 1 2/12 - 2/12 = 1 1/6 - 1/6 = 1 --> k = 6, remainder = 1
We see that because two divides twelve, we get the same answer as if we had a modulus of 6 and remainder of 1! In fact, with k = 12 and remainder = 2, all the program does is trace out the curve for k = 6 with remainder = 1 twice, one on top of the other! Therefore, for 12 symmetrical components the remainder can only be a number that does not divide 12, which are [1,5,7,11] up to 12, but also any other prime number past 12. Pretty cool!
I hope that what I have talked about here has piqued everyone's interest in the topic. Again, Frank Farris' book above is an excellent resource and I hope people have fun making some nice curves with my python script. Now, back to the task at hand!
Step 2: Prepping for Laser Cutting
The shapes that we are cutting out to make the clocks are actually not difficult to prep. I have included a bunch of curves that I personally like, so feel free to use those. The material can be anything that can be put under a laser cutter safely, but I chose a 1/4" plywood with a nice birch wood laminate face. I made the dial of the clock from a 10" disk traced out in your favorite vector graphics program. You can then re-scale the curve within the disk pretty easily to make a nice dial. I also took another curve that was able to be cut out into a border for my clock, which I highly suggest because it really added a lot. One thing you will need to know about before cutting is what type of clock movement you will use. Amazon has a bunch for cheap, and Michael's has them as well if you prefer to go out and buy one right now. You will want to know the shaft diameter, which I think is 5/16" for most.
The finished dial should be a 10" disk with the curve you want to trace out within, and a hole in the center for the movement shaft that is 5/16" in diameter. Be aware that the more the lines on the design cross each other, the deeper the laser will cut into your material! If you try to cut a complicated design, you might just end up accidentally cutting through your dial.
The design I used that includes the border and design is the first.svg file.
Step 3: Cut Your Dial
Now you take your file and load it into your laser cutter. You will want to have the design and the two circles on separate settings. For the design, one of the techniques I used to trace it out was to move the table a little out of focus from the laser cutter. That way, the line is cut thicker into the surface.
This part is really fun. You get to see the laser trace out your design on the dial, which is pretty neat to watch as it happens.
Step 4: Finish Your Clock!
If you used wood, wood that thin warps easily so it would be a good idea to seal it at minimum. One of the things that I did was I painted over the design in white and then sanded the paint off of the face. This gave the design a nice accent against the wood, however you have to be careful when sanding since the nice wood laminate is pretty thin and it is easy to sand through.
I also went and got a sample of a dark stain from Home Depot for the border of the clock face. I then put some wood glue on the border and attached it with 4 3/8" screws. The extra screws were to keep the border attached under the stress of warping. I then sealed the whole thing in a glossy outdoor sealant. Next, follow the instructions on the clock movement package to install the movement and watch your new clock start ticking!
I was pretty happy with the result, and the folks I gave it to loved it too. I hope that you have found this instructable fun and interesting, and please let me know what cool clocks you make!