Hardware design is in FreeCAD 1.0, with heavy use of the gears workbench.
The interesting part was working out how to make a printable gear train when the prime factors of 365 (days) are 5 and 73. Then it hit me: don't need to use integer ratios, so the fun gear in the year train is 18.25:1.
Software is Arduino, using the Adafruit_STSPIN220 library.
Of course I had to make it too complicated, so wound up with the ability to tell it to seek from one day/hour/minute/second to another. Didn't implement going in reverse, though there's a hack commented out that'll do that if you really have to. Part of the reason for this is that I glued the retainers in place so they wouldn't get shrugged off by the gears.
Nyles