The heart of the clock is a PIC 16f628A microcontroller (PDF). This microcontroller has an internal oscillator however an external 20MHz crystal oscillator is being used since it will have to accurately keep track of time for weeks and months. The microcontroller is interfaced to two buttons and one motor.

For more details have a look at the project Website.

The Gear Clock Kit is now available. Have a look at our kit page for more details. If you have a CNC machine you can cut your own gears and just purchase the electronics for the clock.

Step 1: Cut and paint the Gears

The gears are made out of MDF. They were painted to have a metallic look however the look I was going for was not achieved. Initially I was thinking of making the gears look like they were made of metal and left to rust for a few dozen years. I found some cool products that would give me that rusted effect but they were a bit too expensive. I settled for a can of Krylon Black Metallic Hammered Finish paint. The sample on the lid is a very nice black with subtle bit of gray. I think this might be from a bad batch since the final look is not as black as it should be. It also made taking pictures of the final clock a bit tough since even with modest lighting the glare was horrible.

The gear arrangement is as follows:

  • 9 tooth motor gear
  • 72 tooth minute gear with a 24 tooth secondary
  • 72 tooth intermediate gear with a 18 tooth secondary
  • 72 tooth hour gear

To achieve the correct timing the 9 tooth motor gear is advanced 4 steps every 9 seconds. By moving 4 steps at a time the motor routines can be simple since the motor is always at rest with the same coil energized.

Step 2: Construct the Clock Electronics


The brains of this project is a PIC 16F628A microcontroller. It keep track of time and activates the stepper motor when needed.


The interface is very simple, it consists of two buttons. When the left button is pressed the clock advances time using the motor. When the right button is pressed the clock decrements time using the motor. The only issue is when you need to correct time by many hours you would have to keep the button pressed for a long time. The stepper motor is also always energized to prevent the gears from slipping. To overcome this issue when both buttons are pressed the stepper motor is deenergized and the minute gear can be spun freely.


The motor is a unipolar stepper motor that has been harvested from an old 5 1/4 inch floppy drive. This is the motor that used to move the read write heads back and forth, to get one of this size and power you’ll need to find a nice old one. Modern floppy drives don’t have steppers with this level of torque.

This motor moves 1.8 degrees per pulse which means that with 200 pulses it will make one full rotation. Since it’s a bipolar motor it is simple for the PIC to drive it with only 4 transistors.


The code is basically split into two sections, there is an iterative loop that monitors the buttons for a change in state and checks if the internal clock has crossed the 9 second mark. If one of those conditions has occurred the stepper motor is driven appropriately.

The other section of code is interrupt driven and it keeps track of time. An interrupt is triggered every 0.1 seconds and adjusts an internal clock as needed. There is a true running clock inside, if you connect the clock PIC pin 6 to a computer serial port operating at 9600 bps you will see the internal clock values update once per second. The clock value in this case is arbitrary since it is never shown and will not be the same as what the gears are displaying but this same code will be used in future projects which will use this code display time.

Step 3: Assemble and Enjoy

All the pieces screw together, the only piece that is glued is the stepper motor into the motor holder.

I know this is a bit old now, but is the design scalable?, I'd like to downsize this design to be about 8 inches wide.
using the picture, i was able to crudely model the clock in Inventor.<br><p><a href=" http://s000.tinyupload.com/index.php?file_id=91906267365850367966">here are the files</a></p>
Nice!<br><br>You can get the CAD here if you want.<br>http://alan-parekh.com/projects/gear-clock/<br>
i kept trying those files to get the proper dimensions but they wouldnt work in DWG Viewer, Inventor, or AutoCAD (all the most current version).
DXF files should open in AutoCAD with no trouble. To be honest they should open in nearly any CAD program. Seems like it's been saved by a third party app, so probably doesn't quite meet the DXF &quot;standard&quot;.<br>Try RECOVER or DXFIN and see if that can drag it through.<br><br>Suggestion to abbtech, try using DWG trueconvert to get a decent file.<br>I like this project. Thanks.
For some reason I&nbsp;cant get any of the DXF files to open on this computer. Photoshop CS2 , AutoCAD&nbsp;2009, Inventor 2010.<br /> <br /> Ill give it a try on the schools computer.<br />
I just downloaded the zip from the site and opened it. Please re-download the file I think something is corrupted in yours.<br /> http://alan-parekh.com/projects/gear-clock/<br />
AutoCAD 2011 cant open them either.
Not sure what the problem could be. The files open properly on my side and many people have used the same files to make the gears. I just exported the DXF from Artcam so it might be the way it formats the file...
I&nbsp;was only able to view the DXF&nbsp;files on AutoCAD, and Inventor when I imported them into MicroStation then resaved them as a DXF in another folder.<br /> <br /> Weird.<br />
Same on the school computers also. Autocad 2008.<br /> <br /> <strong>Invalid or incomplete DXF input -- drawing discarded</strong>
I have the kit from Alan, but haven't built it yet. Glad I ran across this I*. I've been trying to come up with ideas for colors and am thinking now about using one of the Krylon spray cans for a textured effect. Do you know if you can put another color on top? Great job. I love clocks. As I sit at my desk I can see 12 and I have a few to build yet!
How do you cut the gear?<br />
I used a CNC machine but you could print the design and cut it with hand tools.<br />
Thank you for the reply.<br /> I should have been clearer with my question.<br /> <br /> I would love to to the same with a CNC but I lack experience.<br /> What kind of CAD&nbsp;did you use to generate the gears?<br /> And how did you process them to the CNC?<br /> <br /> <br /> Thanks.<br />
I&nbsp;used a Fireball V90 CNC machine and cut them using Mach3. You can download the files to cut on your CNC machine here.<br /> http://alan-parekh.com/kits/gear-clock-kit/<br />
Thank you so much!<br /> Going there right now...<br />
As a first step, how do I create really accurate gear patterns without expensive tols and training?<br />
You could purchase the gears or cut them out using a saw.<br />
The step motor used in this project is a &quot;<strong>unipolar</strong>&quot; type step motor, not a bipolar one. Bipolar step motors dont have a &quot;common, ground, +V, coil split etc..&quot; connection. Also it's not easy to drive a bipolar step motor. A bipolar stepper requires h-bridge circuit and 8 transistors for the coils to be driven.<br />
You are very right John. I have updated the page. <br />
Great. The project is really awesome.<br />
The kit version should be available in about 3 weeks. Custom boards should be in any day now... It feels like a second Christmas. :)<br />
<br /> Very nice project!&nbsp; In terms of getting a rusted metallic look on wood, I've had good luck spraying the parts with flat black, then just lightly dusting with bronze metallic paint.&nbsp;
Good job. Now if I could just get the gears I would build.
Thanks. It might be made into a kit, there has been lots of interest. To be automatically notified is a kit is made available sign up here.<br /> http://alan-parekh.com/mailing-list/<br /> <br /> Or just keep your eye on this page.<br /> http://alan-parekh.com/projects/gear-clock/<br />
&nbsp;Very cool clock! <strong>Excellent JOB!</strong>
You should maybe add two stationary pointers to the mix... &nbsp;For accurate time reading...
That would sure help. Thanks for the idea.<br />
&nbsp;if you put sea water on steel it will rust it over night.<br /> <br />
It is made of MDF though.<br /> Check out what happens to MDF when it gets wet!<br /> http://forum.hackedgadgets.com/viewtopic.php?t=2589<br /> <br />
I said that to let you know that you could just cover the gears with thin steel sheet, and rust it over night for very little cost.
That would be a cool idea!<br />
Woah, seriously awesome!<br /> <br /> Looks a bit like the twin cams on a DOHC&nbsp;straight six.<br />
LOL, it does!<br />
First Class.<br />
&nbsp;I don't need to tell you how awesome that is. &nbsp;
Outstanding man.&nbsp; The only feedback I have is: you need a reference point on each gear&nbsp; so that anybody that looks at your clock can read the time easily.<br />
&nbsp;Saw this on my make rss (i think)<br /> Really interested me mainly because I've had the idea of a planetary clock but given very limited budget and supplies i'd be limited to cardboard and an exacto knife. &nbsp;MDF seems slightly better though... What programs did you use to make the gears? &nbsp;The closest i had was inkscape that has a star tool that can create a gear looking shape that could function but i think its mainly for looks and not functionality. I like the use of the floppy drive motor too.
Hi Chicken,<br /> <br /> I used Artcam to design most of it. MDF is cheap and tough, I would use it over cardboard.<br />
How was it cut?
On a Fireball V90 CNC machine using Mach 3.<br /> http://hackedgadgets.com/2009/04/26/fireball-v90-cnc-router-assembly/<br /> <br />
<style type="text/css"><![CDATA[p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0.0in; font-size: 12.0pt; font-family: Times New Roman; } div.Section1 { page: Section1; } ]]></style> <p class="MsoNormal">That is an awesome clock! Could we get the files or drawings of the clock gears?</p>
I have had some inquiries about that, I will make them available in the near future on my site. <br />
&nbsp;This is nice, but I do not have access to a CNC machine. &nbsp;What about a version of this project that uses wooden wheels with rubber tires driving each other by friction?
That is a good idea. As long as slipping wasn't an issue it would work very well.<br /> <br />

About This Instructable


224 favorites


Bio: You can see my blog here: http://hackedgadgets.com and my personal site here: http://alan-parekh.com
More by abbtech: Halloween Orange Laser Etched into a Glowing Mini Pumpkin PWM Fan Controller IR Remote Control Jammer
Add instructable to: