The clock consists of two arms of equal length rather than the usual unequal ones . The lower arm can slide on its fulcrum making the entire clock sit or stand on the edge. The lower arm is driven by a geared 15mm 1 : 200 ratio stepper motor. The upper arm is driven by a second stepper motor located in the elbow. This motor i a 1:100 15 mm stepper. The power lines of this stepper needed to be hidden for neatness and hence are taken via copper tracks and brushes in the base. The brushes give the arm freedom to slide and remain clean. The upper led is also powered by these tracks. The upper led's power has a additional set of slip rings in the elbow. The clock contains two leds one in the base hub and the other in the end of the top arm. The arm's role changes depending on which led is lit. So if the upper led it lit then the upper arm becomes the minutes arm , and if the lower led it lit then the lower arm becomes the minutes arm and visa versa. It is a little confusing but then what the heck.
The clock is controlled by a over the shelf arduino nano as it is still in prototype stage. The nano keeps the time via a rtc and drives the motors using a standard stepstick from the repraps. The leds are controlled using a uln2803.
The program of the clock is a little complex as the positioning of the arms has to avoid any kind of crashes. So i had to program all the unique positions of all the hours.
The biggest PITA was the homing. That actually almost made me scrap the clock for a year. The problem is that when the clock is powered up from a unique position a usual homing of the bottom arm can end up in a crash. So the lower arm needs to know which end it is at when powering up. The solution to it is very unique. The lower arm contains a color strip with 4 parts . 2 parts in length are of the same color and the other 2 parts are another color. A reflective ir sensor senses these values and gives 2 different distinct values for 2 different color. So now the lower arm knows which way to home left or right. Once the direction is known it uses hall sensors to home.
The code also has a GCODE parser which i borrowed from the very kind MARGINALLYCLEVER website. This helped me in the programming phaze of the clock to send it to unique angualar positions. I also wrote a custom gcode sender in processing to send gcode to the clock.. All this kind of sounds ridiculous for a clock, but it ended o being a lot more complex than i thought it was.
and yes all of it is 3d printed on a custom dual color corey machine.