(if anyone knows how to get a real gif here instead of a single frame, externally-hosted video, or other external link like this, please tell me)
Only one single part here isn't PLA—the synchronous AC motor powering it, one commonly used in microwaves to turn the plate. Since it's a synchronous motor, the actual ‘timekeeping’ here is done by the power company; the speed of the motor is dependent on the Hz of their signal coming into your house, not by the voltage. And you can plug it right into the wall. Though it does get rather warm…
Every moving part is on a pin of bare 1.75mm PLA filament, unprinted—smoother than you might think, even if you work with the stuff regularly. Just shove a bit of raw filament through the holes, trim it to around the right length, and do something to make it stay in place.
One option is leaving a little extra length the filament, and (carefully) using something hot to deform it and press it into the base, making a rivet out of it. It shouldn't be hot enough to melt the plastic, just enough to soften it—too hot and it might just melt off, rather than in. Options for this are a torch and a solid hammer head (torch the hammer, not the plastic!), a hot glue gun's tip, or maybe even the nozzle of the printer itself. This is most likely permanent if done well.
Depending on how your printer did the holes, a friction fit may be enough, and it'll be easy to pull it back out, but I wouldn't recommend this for anything but a fit test.
And, of course, you can just glue it—that's what I did for half of it.
But whichever option is taken, do test-fit first, and try settings like PrusaSlicer's XY Size Compensation, or Cura's Horizontal Expansion, if you can't get things spinning on your filament.
Also, since the filament comes on round spools, and it keeps its shape well, you can kind of slice just a little way through it (I did this with the clippers my printer came with), so it can be bent away from its natural curve to more closely approximate a straight line. This may be necessary if you want one single strand of filament to go through all five or six arms—the curve in my filament was strong enough to bend the whole top plate if I didn't. Don't want that.
For the arms, while I did use 4.5mm BBs (which I measured to be more like 4.36mm) as ball bearings (how did I never realize this before now?), this is unnecessary. If you don't have, or just don't want to use, metal BBs, be sure not to print the arms with sockets for them—and that makes this 100% printed, apart from the motor.
Exact alignment of the gears might matter. I'm not sure, I haven't tested enough. Just be sure they all fit together while the cam cylinders are aligned to 0 (all arms down). Match to the full assembled model if unsure, or just keep track of the alignment through slicing and printing. In the future, I might add inconspicuous visual markers to the gears for alignment.
(edit 3)
I did not intentionally incorporate this into the design, but the frame is flimsy enough in one direction for the gears to slip if you try to turn the minutes or hours cam things backwards. Doesn't break anything, and it slips back into place afterwards—that's how you set the time without disassembling it.
Apart from that, maybe just plug it in when the time it's showing matches the real time.
One each of:
Gears:
final_hr.stl
instead, 1to1 is wrong)And finally, 17 of the arms—arm_socket.stl
if you want to fit 4.5mm BBs into them, arm_no-socket.stl
if you don't.
The gear files suffixed with _hr
go between the minutes and hours sections. The other three [n]to[n]
files are between seconds and minutes. bevel1
is attached to the motor, bevel2
is between that and the first cylinder.
For assembly, refer to assembly.stl
, which has all the pieces together. The gears listed above are in order from the motor to the far (hours) end.
… I hope that's all the pieces.
I'd put all the OpenSCAD code here too, but I wouldn't want even someone I hated to have to read that mess. If there's substantial interest in it, though, I could maybe be convinced to clean it up and put it here.
If anyone wanting to put one together has any questions, I don't mind.
(2021-06-30 11:00-07) Took me too long to realize that the hours were just off, then took me ‘til now to realize that it’s because the last gear in the chain has the wrong number of teeth on one side. Replace 1to1_hr
with final_hr
, and base_hr
has been updated to position the new gear correctly. Might be close enough as it was, but if it's not, reprint the base.
Additionally, I somehow failed to notice the middle gear between minutes and hours intersecting one of the arms that holds it. I blame the transparency I told OpenSCAD to give it for making that hard to see. top_minutes
has thus also been updated, though it might not need to be reprinted if you don't mind the gear not being straight. I'm not yet sure of the impact on functionality—I'm going to try it with the old base and top piece before reprinting.
The author hasn't provided the model origin yet.