Clock Motor Control with Arduino

I am fairly new to Arduino and unsure if this project is feasible with an Arduino Uno. I am looking to have my controller turn my bidirectional gear motor ON at specific hours of the day (sort of like a Christmas light timer). For instance, I would like my controller to turn my gear motor ON at 7:00 AM moving a part into the "OPEN" position. Then, after 12 hours of idle, I would like my controller to turn my gear motor ON again in the opposite direction, moving the same part into the "CLOSED" position.

Perhaps, to have more extensive timing options, I would like to incorporate days of the week and select specific hours and days to run my motor.

Any ideas on how to implement this project?

Any advice is appreciated!


The Arduino can keep time, but it is not very accurate and the time must be set every time the Arduino is turned on.

You can buy a small "RTC" module that has a battery and keeps independent time, including a calendar. Some have settable alarms. Search the forum for many discussions and examples of how to communicate with the RTC and schedule events.

RTC module to track time
DPDT relay to act as H-bridge for motor direction.
2nd relay,or transistor, to turn power on & off.

Use a transistor to drive relay coil as well to be safe.

As everyone already said, you need an RTC module. If you get a DS1307, you can use the "DS1307RTC", "Time" and "TimeAlarms" libraries to help you along. Take a look here:- Time

Have you published you clock motor control design? I have a similar project and would like to see your design and code?