DIY 3D Printed Electromechanical Clock
by JacksonKsu in Design > 3D Design
125 Views, 3 Favorites, 0 Comments
DIY 3D Printed Electromechanical Clock
Hi, I’m Jackson, a high school designer with a passion for engineering and turning ideas into real, functional projects. While walking around my house one day, I noticed a huge white wall that just felt empty. With a spare Arduino lying around and itching for a cool project to create, I realized a fully 3D-printed electromechanical clock would fit perfectly.
The concept is simple: a continuous-rotation servo spinning at a constant rate, which drives a custom-designed gear train that turns the second, minute, and hour hands in perfect harmony.
Engineering Constraints:
- Has to look like a traditional clock, which means that every clock hand has to rotate around the same center axis.
- Has to have seconds, minutes, and hours shown.
- Has to be completely self-fabricated, other than the electronics and commonly available parts
- This implies that all gears must be 3D printed, and that pulleys and chains are not allowed since chains and belts are not self-manufacturable!
- Time must be adjustable easily, without the user having to take apart the whole clock
I'm really excited to publish my first Instructable, and I hope my readers will enjoy reading it!
Supplies
Materials Used:
- 0.25 in Polycarbonate
- Nylon (SLS 3D print material)
- 0.25 in Wood (For prototyping)
- TowerPro SG90 9g MicroServo
- Arduino UNO R3
- Energizer MAX 9v Battery
- Bearings
- 2x 1.125 in Round
- 10x 1.125 in Thunderhex
- Shafts
- 0.375 in Thunderhex
- 2x 1.5 in
- 1x 2.5 in
- 1x 3.75 in
- Spacers
- Assortment of 0.375 in Thunderhex
- Assortment of Jumper Wires
- Wire to Battery Connector
- Wire to Barrel Jack Connector
- Solder Wire
- Heat Shrink Tubes
- 10/32 in Hex Roundhead Screws
- 9x 10 mm
Tools Used:
- Computer and Mouse (for CADing)
- onshape.com (CAD website/software)
- Waterjet
- Bamboo Lab 3D Printer
- Soldering Iron
- 1/8 in Hex Screwdriver (Allen Keys)
- Mallet
CAD It
First of all, I CADed the gears, clock hands, and plates themselves. During this step, make sure to include all the significant parts of your clock: this would include the servo, all the gears, the plates, and the clock hands. The files to export yourself are attached below.
There are also cool CAD animations embedded above.
Notes: To calculate the gear's center-to-center distance, I used the WCP center-to-center distance calculator. All gears are made with the Spur Gear featurescript from Julia's Featurescripts. There is a 1/16 in gap between most gears to avoid friction. However, there is a 0.375 in space between the middle plate and the minute hand gear to allow space for a screwhead. The Origin Cube featurescript is used.
This 'CAD It' step includes way too many details that I want to explain, so it will be split up into multiple mini-steps.
Downloads
CAD It - Geometry & Base Plate
I started off by creating the geometry sketch for the base plate, which allows me to check whether all of the gears would fit without interfering with each other. Moreover, I can also use this to minimize space.
Secondly, I made the bottom plate. The bottom plate includes holes for the standoffs between plates and holes for bearings to go in.
CAD It - Gears
Next, I started the long journey of creating each gear, and to make sure the center-to-center distances are accurate, and that the correct gear ratio is applied. Here, I made several gears attached one on top of each other to create one part that can be 3D printed.
For the second hand's gear, which came first as it rotates the fastest out of the three hands, I attached a long cylindrical pole in the middle of the gears, with the idea of attaching the second hand to it eventually.
CAD It - Middle Plate & Clock Hand Gears
Then came the middle plate. I actually did not plan to have one, but was ultimately forced to after realizing that a large gear would interfere with the shaft of another gear. This allowed the shaft to only run partway through the clock and avoid the interference. There is also a gear mechanism that needs to be rotated on both sides of the middle plate. I simply used a hex shaft between the two, with spacers to hold it in place.
For the minute hand's gear, it was similar to the second hand's, but only with a hole in the gear for the second hand's shaft to go through.
For the hour hand gear, it was almost identical to the minute hand's gear, but, of course, with a larger hole so both the second and the minute hand's shafts can pass through it.
CAD It - Clock Hand Attachments
After, I attached the top plate, which is similar to the minute plate minus some unnecessary bearing holes.
One of the largest challenges that I faced was creating the attachments for the hour, minute, and second hand. Since they all rotate around the same center, I could not simply include the clock hands in their respective gear mechanisms. The second hand was the easiest one, as I turned the end of the second hand's shaft into a square, with the second hand fitting over it and secured with a screw. For the hour and minute hand, however, I had to get creative. I relied on friction to hold the hands in place and created a Pac-Man-like cutout to prevent the minute and hour hands from slipping rotationally.
CAD It - Servo & Final Touches
Afterwards, I added the servo. This was attached to the first gear I made, which was a small ratio gear to turn 1 rotation per second to 1 rotation per 60 seconds for the second hand. Since the servo used is tiny, and the holes in the servo attachment are too small for screws to pass through (made for strings and wires), I opted to use friction again, holding the attachment in place like a mold.
I had to make sure that there was the perfect hole shape so that the servo would not interfere with the middle plate, but could also attach to it using its two screws.
In addition, I lightened the gears using the Lighten featurescript to save weight and to give a cool look to the gears.
Finally, I put the entire part studio into the assembly, fixed the origin cube and grouped all static parts to it, and added revolute and gear ratio mates to test the viability of my clock. Luckily, there were no issues.
Prototyping
This step is not required, but I did it just in case I made a mistake.
After printing out my gears, I decided to prototype the plates using wood first. I used some spare shafts without cutting them to the correct length, and put the bearings in place just to check that the gear distance was correct, and all gears can spin smoothly.
For example, one mistake that I made was that I did not own the correct size bearing for the shafts. Therefore, I quickly changed the CAD, and since I used wood, I saved some money and time.
Fabrication
This step is much shorter.
First, export the gears and clock hands in STL format and send them to your 3D printer for printing.
For your plates, you can include them in the 3D prints if you would like to save time. However, I decided to cut them out of polycarbonate on the waterjet. I exported the faces in DXF format and cut them from 0.25-inch Polycarbonate. As you will see in the next step, it's always good to prototype with a cheaper material on your first attempt.
Moreover, I needed to cut out the shafts to the correct length, so I simply used a circular band saw.
Building
Since our CAD should be clean and represent exactly where all the gears should go, building should be pretty straightforward. First, we hammer in the bearings in all of the bearing holes. Remember that the two central holes should be round instead of thunderhex.
Next, we add the gears. After using the correct shaft length, tap the two ends to allow for a screw to go on either side. We will fasten the gears in the correct location using a variety of spacers. To ensure that the shaft does not move side to side, we will put a washer with a screw to make sure it stays in place.
We also need our standoffs on the 6 vertices. Since the shafts already gave the clock a basic structure, I opted to only add 6 standoffs in total, alternating 3 between the top and the middle plates and 3 between the middle and the bottom plates.
Attaching Electronics
This step consists of two parts.
The first part is soldering the two connectors together. This is pretty straightforward for any engineering student; you first sleeve the heat shrink tube, solder, and then cover it with the heat shrink tube.
The second part is attaching the servo to the Arduino UNO. The servo that you use must be a continuously rotating servo (no rotational limits). Attach the brown wire to ground (GND), the red wire to the 5 volts power output (5V), and the yellow wire to D9, where the information is transferred.
Remember to screw on the servo in the correct place, and use double-sided tape for the Arduino and the battery. Moreover, I used clear tape to attach the wires cleanly and seamlessly, creating the effect that the wires are held together by nothing.
Coding & Calibration
The code for this is simple.
Basically, the code writes 3 things:
- The servo's information route is wired on pin D8
- The Arduino sends a signal in µs to the servo
After careful calibration, I found that the signal that translates to 1 revolution per second is 1194 µs.
The code in action is embedded above.
Adjusting Time
How do we adjust the time, though?
Well, the obvious idea is to have the servo run quicker. However, the servo does not support it and would require a really strong motor. Therefore, I thought of this quick addition, shown in the picture above. The small pink gear shown is what connects the second gear to the minute gear. Since it requires a huge amount of torque to directly twist the hour or minute gears, why don't we sever the gear train when adjusting the time for the minute and hour hands?
All you have to do is use a 3/32" hex screwdriver to unscrew the shaft collar holding the gear in place, and then you can lift the gear upwards. This allows for easy-to-manage time adjustment for the users. Just remember to turn the white minute gear, since that requires the least torque to spin when adjusting time.
See It in Action
Have fun with your new clock!
The video attached above shows the clock working, and shows the inner functions of the clock and how they come together. If you have read this far, I hope you enjoyed reading this article, and stay tuned for my next Instructable coming soon!