200 vs 400 step motors

Hello. I am very new to this and trying to figure out where to start.

I "dabble" with electronics and know just enough to be dangerous but have never use (or even seen in person) an Arduino.

I am a machinist by trade.

I am building a new workshop and want a clock tower on it.

Problem, I live in Vermont and outdoor clocks are very expensive. Plus the normal problems of a stand alone clock ... setting it (we do have a number of power outages) and such.

So, I started thinking about a step motor. This way no gear box ... just three motors (well per side so possibly 12 motors ... motors are easier than gears) ... hours, minutes and seconds. No gearing and such ans the motors can be driven at any speed. No real load as they are only turning the hands of the clock. I "think" even if the clock freezes up (snow and ice) and the hands stop moving, there will be no damage to the motor.

I am guessing I would need some kind of switch on each motor to tell when it is at "zero" ... just thinking this as the CNC machines I work on have a switch at each end. We run a "calibrate" program each day to make sure the machine knows where zero is.

Also, it would be great to have it tie into the GPS system to make sure it is accurate. Really not sure how this would work. Do you check every hour or each day or ? Do you run it back if it is fast or run it forward if slow or ???

Finally, it would be nice to take control of the hands say at the hour and have them do something odd (say go forward then back a couple of times).

So first question ... am I on the right track or is my idea way off base?

I tried to do some homework searching the web.

I see clocks driven by step motors so I think I am OK there.

I did see there is a GPS module available so I think I am OK there.

I see step motor drivers .... just never saw 12 off a board ... is this possible ... plus then say 12 "zero" switches?

Assuming this is possible .. where do I begin?

I think I would want to build a simple three motor (and three switch) unit on my desk to test the concept ... but I would want to make sure I can expand it to 12 motors and switches later.

Should I buy an UNO or MEGA or ???? Shields? Kit or parts or ????

Any advice would be greatly appreciated!

Thanks ..... Mike in cold cold cold Vermont

I think this is doable… The thing that would “scare” me is the triaxial motor shafts, but that’s probably no big deal for a machinist. :wink:

And in case you don’t know this, standard stepper motors are 200 steps per revolution and that doesn’t divide down evenly to 60 seconds per revolution. (It is possible to “micro-step” a motor if you want to try that.) Your milling machines may do that, or they may just be geared-down for more precision.

You can get a GPS shield. I’ve never used one, but I believe you can get the time. The Arduino’s built-in clock should be accurate to a couple-hundred parts-per-million so you should be able to run it for several hours (at least) before it drifts off significantly. You can also get real-time clock (“RTC”) modules that are more accurate and have a built-in back-up battery. (It’s the kind of thing that’s in your computer so it keeps time when you shut it off.)

Of course you’ll need to make sure your motors are hefty enough and you’ll need motor drivers capable of supplying the necessary current (and an appropriate power supply).

I am guessing I would need some kind of switch on each motor to tell when it is at “zero” … just thinking this as the CNC machines I work on have a switch at each end.

Yes, you need a “home” switch/sensor for each motor. [u]Slotted optical switchs[/u] are a common solution. You shouldn’t gain/loose steps unless you loose power, and then it doesn’t matter which direction you run it to “find home” again.

I was confused by “12 motors”, but I assume there are 4-sides on the tower…

You might want to start with a small model… You wouldn’t need the triaxial shafts to test the concept/software/electronics.

Exactly what I am thinking ... I can build a try axis system for the final unit (I have a couple of lathes and milling machines here at home) but for a test, I was just going to use three separate motors with three dials (hour, minute and second).

Optical home switch ... great idea ... I will look that up.

So, what if any, of these Arduino units will support 12 motors (three per side of a 4 sided tower) and 12 home switches?

Can you just keep stacking shields on top of one another (say 12 motor control shields)?

Also, I didn't know about the 200 steps. Really, most of the CNC machines use servos with encoders driving lead screws to get lots of torque.

So how do you get something divisible by 60? Do I need to do some kind of gearing? Or do you just correct every revolution for error? Or what is micro steps? Or ??????

I just made the bad assumption that you can buy motors with different amount of steps per revolution.

Thanks ..... Mike

I can build a try axis system for the final unit (I have a couple of lathes and milling machines here at home) but for a test, I was just going to use three separate motors with three dials (hour, minute and second).

Since the final system will have three shafts, one inside the other, there will have to be some form of gear on the end.
You could use standard toothed belt gears like those used in 3D printers( like: timing belt + pulleys ), some amount of gearing will also allow you to use lower powered motors and you would get better step resolution of the hands.

Have a look for "3-axis stepper drivers", there's lots of these for CNC milling/laser and 3D printers. Some come as a kit with a driver and 3 motors... you just need to figure out how powerful you need the motors to be.

Given the cost of all those motors, drivers and power supplies I reckon it would make sense to use one Arduino per side... makes it a lot simpler without adding much cost. Just make 4 sets of the same thing.

For smaller motors you can get e.g. 3-axis-stepper-motor-driver-Shield-for-Arduino, don't think it would be a good idea to stack them tho.
For larger motors you can get boards which will handle 3 motors, larger still and driver units come separately like: tb6600-stepper-motor-driver

You can get time once a second from GPS, there are several 'Arduino GPS' modules and shields, with it being in a tower I guess the antenna will not be a problem (if it was indoors, you would want to look for one with a screw-on separate antenna unit so you could put it somewhere where there is signal). There are software libraries for getting the time from a GPS.


Awesome idea!

These things are so cheap it makes a lot of sense to just use 4 of everything!

A small belt and pulley makes sense also. Good for years of service.

I was thinking of some kind of simple slip clutch on the motor just in case it ices up.

We poured the pad ... 3500 sq ft of reinforced concrete. I built my house through a winter ... not fun ... so I decided to wait till spring to build. I was just going to put a cupola but decided a clock tower would be much more interesting. I can access it from the attic of the shop.

So, again, I can ask a lot of these questions once I start in on it but just basically, I am thinking you get a time ... say 12:00 and say start. To keep track of time, do you count and store the steps and compare this with the time or how would this work ... in other words I understand how you would step the motor in time but how would you check and correct this against the gps clock .... or would the gps clock somehow signal the step motor to move?

Thanks so much again ..... Mike

To keep track of time, do you count and store the steps and compare this with the time or how would this work

Yes. simply considering the seconds hand...
If you have 200 steps/rev motors and belt drive reduction of 3 (which makes it easy :slight_smile: ) then you have 600 steps per hand revolution = 10 steps per 1 second

On power-up, your code steps the motor until it sees the opto and stops. That is 12 o'clock position.
The Arduino remembers Step=0 for the seconds hand.

When the GPS reports 12:00.15, then you just run the motor 15*10 steps. Seconds is now at Step=150.

When you read the time again, 12:00.16, you calculate what step it should be on: 16*10 = 160, you are already at 150 so you tell the motor to do another 10 steps. and so on....


You are awesome!

As I said, I "dabble" in electronics. A machinist by trade, I also build industrial control panels (worked as an instrumentation designer for a number of years).

i can build simple things (like a missing pulse detector using a 555 .... just did this for a customer) but that is about my limit.

I would like to get more into this ... just as a hobby.

I priced a clock for my shop .... $1000 each side ... ouch!

This would be a great learning project ... and I would end up with a clock for a lot less money.

Here is a link to my facebook page showing an industrial panel I built.

Thanks so much again .... Mike



Nice work on that instrument panel.

...and good luck with the Clock Tower project!


These links may be useful.

Stepper Motor Basics
Simple Stepper Code

I can't see any value in having a separate motor for each hand. The usual problem with gearing in clocks is the need for very low friction. But if you have a powerful motor that would not be a concern and all the gear shafts could run on robust sealed-for-life bearings.


Will there be a WiFi signal at the top of the tower? It does not need to be a strong signal. If so, you could use an esp8266 based board such as Wemos Mini. That can get time from a Network Time Server at startup and perhaps every 24hrs after that.

The reason for 12 motors ( or say 8 if I don't have a second hand) is just the simplicity of the build. In my time, I have built may machines with some complicated gearing, drive shafts, couplings, ..... Yes they all worked but there is a lot of work in this.

Think of a central motor driving 4 shafts, each turning the same way. Then a drive shaft going out say 24" to the face ... then a support bearing .... Just a lot of pieces and parts.

The idea of 4 identical set ups ... just a center shaft (I may even make this one relatively heavy and fixed ) with two or three hollow shafts running around it. At most, one gear of belt to offset the motor. A relatively simple set up.

Also, this leaves the center of the tower open so I can get up inside for maintenance.

Right now I am trying go decide between 4 ft across and 6 ft across.

The face of the clock will be about 4 ft ... easy to see from anywhere on my property.

As for the WiFi ... yes, the building will have Wifi. Actually, funny since we lived in an RV parked on the workshop pad while we built he house. So it already has network cables, power and such at the pad.

I just finished up a job last night and finished backing up my computers again (I am annul about backing up and archiving data ... two copies of everything on two separate remove storage devices) so I have some time today ... think I will try to get some parts on order to start experimenting.

Thanks so very much again !!!!!!!!!


I am going to go a little off topic ... I want to know why some motors are 200 and other 400 steps. I will post this as a new topic since someone may know more about motors but not respond to my clock post.

Thanks again .... Mike


I got lots of help with a clock question I posted .... but this lead me to another question.

The idea is to build a clock using a step motor.

Without gearing, it was pointed out to me that step motors are 200 steps (1.8 deg).

One second is 6 degrees.

I could get closer if I had a 400 step motor that 200.

If I use 200, then I would step ... 3 (5.4 deg vs 6) ... step 4 (12.6 deg vs 12) ... step 3 (18 deg vs 18 deg).

If I use 400, then step ... 7 (6.3 deg vs 6) ... step 6 (11.7 vs 12) ... step 7 (18 deg vs 18).

Anyway, my question is 200 a standard or 400 or can a 200 do 400 or ?????

I have no experience with step motors.

Also, can I stack a few shields so that I can get 3 motors off an Arduino (hour, min & sec)?

Thanks ..... Mike

It is much easier to help if you keep all the questions about your project in the same Thread. The link I gave you in Reply #8 should answer your question.

If you click Report to Moderator you can ask to have this Thread merged with your earlier Thread.


PS. if small individual errors of angle don't matter you could occasionally do an extra step (or one less) to prevent an accumulated error - may be simpler than using 3 to 2 gearing.


Sorry, thought this may be a more broad question so I should start a new topic … my mistake. I was super happy to find there was even a forum on Arduino … I had no idea how popular this item was!

Thanks again … Mike


Read the step motor basics (actually had read a similar posting on another sight about step motors).

Just a bit confuses still.

I understand there are special motors and drivers that will drive 1/4 and 1/2 steps.

But are all motors capable of this with a special controller or does it take a special motor with a special controller? Do you just need to make sure it is a 6 wire motor or ?

Think I have a lot of educating myself to do on step motors.

Thanks again .... Mike

PS... asking the moderator to merge these posts right now ... thanks again

topics merged on request

I just re-read the section on step motor basics.

So maybe I miss understood. It says the micro steps are controlled by the current in the coils. I just made the assumption that with 6 wires (4 coils) you could better control this.

Again, I am confused though ... then is it really the controller that make a motor capable of microsteps or is it both the motor and the controller?

When I got to a site and see "400 step motor" ... is it really a regular 200 step motor that needs a special controller is ????

Thanks again!


A specialized stepper motor controller is really a sort of special microprocessor that can apply very fine control to the currents in the stepper motor coils. My understanding of it is that by partially energizing both coils so they pull against each other the motor can be made to stop in an intermediate position between two full-step positions.

Any stepper motor can be made to operate in micro-steps. However micro-steps don't give the same fine precision as full steps and in a situation where precision is needed a 400 step motor may be more suitable than a 200 step motor moving in half-steps.

My guess is that your clock mechanism will work perfectly well with a 200 step motor, and 200 step motors are much more common.