Introduction: 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)
Step 1: 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.
Step 2: 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.
Step 3: 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.
Step 4: 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).
Step 5: 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.
Step 6: (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.
Attachments
Step 7: (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