I was inspired when I saw clock made by Humans Since 1982. One year ago I made one. Now it is time to share how I did it.
This is my schematic for each of the clocks:
The most important for me was to make it the cheapest and the simplest one I can do, so I have used bka30d motor (360 degrees version). You can buy one on aliexpress. You can drive it directly from the microcontroller so you don't need any additional drivers. In my opinion motors x40 should be much better for it but there are much more expensive. The motor is the most expensive part in my solution.
When you drive bka30d with 4 or 8 steps you will get to know that those motors are very loudly. That's why I have decided to use the newest microcontroller from microchip - it is atmega328pb (pb - it is very important, not p like on the arduino board). There are 9 (or 10) PWM channels, bka30d has two motors with 2 solenoids - 8 connectors. So we can connect motors to microcontroller and we can have full voltage control on every PIN. Next week I will show my software how to drive the motors in my configuration. The movement is very smooth and much more quieter.
Atmega328pb is cheaper then standard atmega328p - we can "save" more money!
Another issue is how to home clock hands on power up. I realize it by small magnet on clocks hands and two analog hall sensors (ss495 connected to sens1 and sens2). On the power up microcontroller is looking for absolute maximum.
Communication between clock - I used i2c wire. On the schema there are two pull-up resistors - they are needed only in one clock - when one of then is master, when you use for example arduino as master you don't need to sold this in any.
Two buttons are not used in satellite clocks - only when clock is the master.
You can see PCB project on easyeda page: