Needs 72 arduino nano as slaves to control 288 BKA30-R5 motors, 1 arduino mega (only because its I2C has build-in pull up resistor, any microcontroller that has I2C works) as master, master calculate the position and send command to slaves through I2C, then slaves will drive motors to desire position.
One thing quite important is determine the clock handles position since step motors only know how many steps it's driven but no position information, so I have to add 2 hall sensors for each motor, drill holes under hands and put a tiny magnets there, so each time the handle pass by a hall sensor, the arduino nano knows and I can record the position information.
At first I let clocks re-zero every 10 minutes to make every hand of clocks to be where they should be, then at 2.0 version, I put a trigger program in the loop that every time the hall sensors see magnets move out, the program will recalculate the position information, then recalibrate if the hands are off some certain amount.
codes for master and slaves are here:https://github.com/lucaslulucaslu/ClockClock288
Would you be willing to share your PCB design so I could get them fabricated? Thank you.