Hollow Clock 2
3D printed clock using Arduino and hobby stepper motor.
- Easy operation : super-easy time adjustment
- Easy print : printable without supports (except optional cover.stl)
- Easy assembly : gears can be set by just sliding in
- Cheap : used stepper motor is very popular and cheap (around 3USD with amp circuitry)
Supplies
- 28BYJ-48 5V stepper motor with ULN2003 motor driver amp board (3USD per unit)
- Arduino nano or its compatible board (5USD per unit)
- 4 tapping screws (2 x 6mm)
Print Parts
Print parts using your 3D printer.
- Print parts with supplied posture.
- Support is not necessary (except optional rear cover, cover.stl)
- Largest part measures 160mm x 160mm.
- Remove debris and blobs around the parts well.
Soldering of Circuits
Solder Arduino Nano and driver board of the stepper motor.
- Connect D4 - D7 ports of Arduino to the stepper motor driver.
- Connect 5V and GND to the power source port of the stepper motor driver.
Assembly
Please take a look at the movie at the top of this page.
Set gears to the body.
- Reduction gear is set by just sliding in, using oblique axis guide.
- Minute driving gear is held by the axis of stepper motor.
- Hour driving gear is held by the minute gear axis.
Fix the motor with tapping screws.
- Please use a spacer if your screw is longer than 6mm, or the screw will block the gears.
- Check the smoothness of rotation using "stepper-test.ico".
- Lubricate the gears and rotors if the clock does not work properly.
Flash Code
Flash the code for the clock to the Arduino.
- stepper-test.ino : test code that runs the clock very fast
- arduino-code-for-hollow2-8phase.ino : clock code
Troubleshooting
If your motor runs to the wrong direction or generates noise with weak torque, please change the order of the numbers in code as
int port[4] = {7, 6, 5, 4};
to
int port[4] = {4, 5, 6, 7};
where the numbers are related to the pins of Arduino nano (D4 - D7).
Put Rotors
Put rotors on the body.
- From front to back, minute rotor, hour rotor and index disc.
- Paint hands for better visibility.
To adjust current time, simply just remove and set the rotors again.
(Optional) Rear Cover
A STL file for the rear cover is supplied. It needs support to print. Fix it to the body with glue or tapping screw.
Downloads
(Optional) Tuning
If your clock gains or loses (too fast or slow), please change the value below in the source code.
#define MILLIS_PER_MIN 59913 // milliseconcs per a minute
Larger value makes the clock slower.
Some useful info can be found in the comments to this thing in Thingiverse