Do you like my hacking? If so, please consider leaving something in the
Fediverse (Mastodon etc): @Sprite_tm@social. spritesmods.com
After some thought, I came up with the following scheme:
Top-left you can see the 7805 that distills 5V from the 12V that drives
the fan. To the right is the power-supply for the uC, separated from the
spike-inducing led-array by a 100 ohm resistor. Down right is the uC, with the
two buttons used to set up the clock and the 8MHz crystal. The rpm-output of
the fan is connected to the uC via a resistor, to protect against accidental
12V on the RPM-line. To the left, finally,
are the leds, connected to the microcontroller using a couple of transistors:
because the leds are only on 1/60th of the time, we can use the transistors and
the 10 ohm resistor to pack an extra punch.
Just a note: as you can see, there's no battery backup or anything in the scheme. If you want the clock to keep it's time during powerdown of your PC, you can feed the uC from the standby-5V on your ATX-connector: in that case, remove the 100 ohm resistor (I did't because I'm planning on putting the device in my server.)
I built the hardware on a small piece of prototyping board, using an ATTiny2313.
It's possible to make the device even smaller by using an SMD-device, but to my
taste, this is small enough. The LED is connected to the PCB using a set of
thin wires. BTW: If one led is not enough for you, you can easily connect more
to the circuit: just duplicate the leds and the 10 ohm resistor and connect that
combo in parallel to the existing one.
This is the fan itself. I glued three pieces of paper to it and used a felt
tipped pen to colour them in: red for the hour hand, green for the minute
hand and blue for the second hand. Eventually, I remove the blue piece: it wasn't
colored in completely OK and the green piece reflected enough blue to give an
indication of where the hand indicating the seconds is. Btw: The angle you put
the hands in isn't inportant: the software can compensate for any decision you
make when you initialize the hardware.