Here is the clock in action.
and here is the what is happening behind the clock
CoreXY Mechanism
The magnetic numbers are moved using a CoreXY style mechanism on the back of the clock.
I designed and 3d printed all of the plastic parts and off-the-shelf 8mm rods and GT2 gears. The two stepper motors are Nema 17 1.5A steppers.
Electronics
The original design used an Arduino Uno controller, however during design I determined that I needed a faster processor and switched an Arduino compatible SAMD21 based controller board (RobotDyn SamD21-m0-mini). The original reason for going to a faster processor turns out was not needed, so I could probably have gone back to the Uno but just didn't bother.
The Arduino controller is connected to a KingPrint CNC Shield using A4988 Motor Drivers to drive the stepper motors and an Adafruit PCF8523 Real Time Clock to keep time.
Source Code
All source code is available on GitHub
https://hackaday.io/project/174246-refrigerator-magnet-clock
Has anyone considered how this clock can display 11:11 ? ? ? There are only three 1's.
what does the firmware do? My guess is that it displays 11:10 then 11:1 then 11:12.
Perhaps it will steal a 1 and display 11:10 then 1:11 of 1_:11 interesting right?
This is a great example of why I never test my own code. I can't see the minute detail that is glaring to others.
All in All I wish I had some kids to give this clock to...
If I were a kid I would change the numbers so that only I know how to decode the real time... reverse the digits would be fun... I would have the numbers placed in random positions and use any color for the digit... You could use cute icons instead of number. You would have to remember which icon represents the number... Yes I was that kid who always thinks outside the box. At 72 I am still that kid.