Bi-directional slow moving motor? and then some

As my username indicates I have many questions, I am very new to electronics, but I've done enough building/tinkering to feel comfortable attempting a fairly ambitions project... a very unconventional cuckoo clock. The first and most basic challenge I have is to have a motor turn 180 degrees very slowly, then back 180 at the same speed or faster. This would happen on the hour and involve additional actions such as door flaps opening and then closing, as well as sound to sync with the action. 

To keep this basic for now, I'd really appreciate any help on what I might need to get started... are there special motors for slow rotation and fwd rev directions? do I need a motor driver in addition to a microcontroller? since it's for a clock it would have to be very durable and last a very long time...

Thanks for reading and for any advice you may be able to offer.

You will need:A motor driver

You will need:
A motor driver capable of PWM and able to handle the current of your motor
A Microcontroller (Arduino is a popular beginners choice)
A robust power source (9V batteries do not cut it!)
Some kind of encoder or Potentiometer to sense what angle the Motors at.

An alternative method is to use a servo, which specialize in this sort of movement range. You send them a 1-2ms pulse and they move accordingly. You send more pulses faster to speed it up or less to slow it down, and its bidirectional and has about 200 degrees range.

Honestly, this is all very

Honestly, this is all very precise work (if you want your clock to keep time). Maybe not the best starter project unless you are very, very good mechanically already.

Most electric clocks you buy have a packaged ‘movement’, which is a set of gears with the motor and battery compartment all in one. You can buy the movement and then build your clock around it if you want to go that route. I learned a bit about them with this experiment, which might be of interest to you for background. Read through the comments, especially those from Gareth, who is pretty darn talented.

If you want to build the clock  movement yourself instead of using a kit, it takes some precision work to get the gears, motor and electronics all correct. How they do it in a packaged movement may provide you some good insight into what is needed.

Inside the clock movement is a very simple stepper motor. A stepper motor is not like a regular DC motor. I has multiple coils (each with wire leads) that need electrical pulses in a set order to move forward one ‘step’ at a time. Each step is a defined number of degrees. The stepper in a clock movement is very simple, with just one coil (so two electrical leads).

A quartz crystal oscillator and little electronics circuit drives the stepper at a very precise rate. Regardless of how you build your clock, controlling the rate the motor spins at is extremely important. Anyway, the motor drives a set of gears. The gear ratios are precisely designed so that one can drive a second hand, one can drive a minute hand, and one can drive an hour hand.

You could use an Arduino or other processor to drive a bigger stepper controller and motor and your own gearing. The movements that you want to create for your cuckoo clock can each be driven by different mechanical linkages and gears.



Thanks for the very helpful info… in your opinion, do you you think those ‘packaged movement’ battery powered clocks are durable? I’d probably go in that direction, but I’m curious if making my own would last longer, (assuming I could actually succeed at making it)

Regarding the motor, the “cuckoo” that pops out on the hour will need to rotate on the motor in a fluid, but slow motion possibly taking 3-4 seconds before pausing for another 2-3 and then reversing all movements. Does the stepper motor move fluidly? or does it start/stop like a clock hand? and does it need a motor driver?

Also, could multiple actions (clock, motor, door release, sound) all happen from one microcontroller? 

Thanks again, and sorry for all the questions.


So the PWM motor driver is what controls the speed and direction of the motor? …and the downside is that it uses a lot of juice, so AC power is the only option? is the servo option something I can achieve with Battery power?

thanks again for your help.


So the PWM motor driver is what controls the speed and direction of the motor? …and the downside is that it uses a lot of juice, so AC power is the only option? is the servo option something I can achieve with Battery power?

thanks again for your help.

Don’t take this the wrong

Don’t take this the wrong way, but I think you are in over your head with this project.

I strongly recommend that you start with something more simple. The Start Here robot is a good example. Or look through projects on or and find something that appeal to you. Everything is laid out for you, and you will learn a TON putting it all together. Once you have something like that under your belt, you can work up to the project of your dreams.

RC Servos or robot servos

Radio Control servos aka RC servos could do what you are asking. These servos are generally only used in specification for 90 to 120 or so degrees of travel, but when pulsed beyond spec can travel upwards of 200 degrees. Basic analog servos accept a 1 to 2 millisecond pulse repeated every 20 milliseconds. Digitals can accept different pules rates, but use a similar 1 to 2 ms pulse width. The position the servo ratates to corresponds with the pulse width sent to it. The pulse can be generated by a microcontroller or by analog circuitry, depending on the need. Servocity has some good servos to choose from.  

Alternatively, robot servos such as Dynamixels could be used, as they are made for 180 degree and greater rotational use. These are commanded by a serial protocol, and can actually report back position information if needed.