the electromechaniclanalogdigitalclock

A clock build with CMOS logic, moving coil meters and a stepper

Similar projects worth following
A project that was on my todo list for a long time: use moving coil meters to show the time, but not with the use of a microcontroller (arduino, ESP, etc.), and then I found these wonderful, big ELIMA 10V DC instruments on ebay for 1€.
The result: A clock build with:
* one stepper driven by mains frequency to get a 1sec pulse
* digital counters (CD4040) for seconds, minutes and hours (of course with LEDs)
* digital analog converters (DAC0808) which drive the instruments to show the time.
I also though of building it with transistors... but I wanted to be finished with this project in this decade ;-)

Currently (2020-06-06), I wait for the PCBs for the final assembly to arrive.

The Ideas

Build a steampunk like clock with old moving coil instruments, but not with the help of a microcontroller.

  • Clock source: Crystal? NE555? stepper!
  • Count secs, mins, hours: binary counters with reset CD4040.
  • Instruments: look on ebay, found two ELIMA 10V DC instruments.
  • Drive the instruments: Analog digital converter DAC0808.
  • It should look nice.

The Implementation

The instruments needed 10V, so TTL logic was not sufficient. But CMOS.

Clock Source (the electromechanical part)

In germany our mains voltage is 230V at 50Hz. Using a transformer and a capacity it is possible to drive a stepper. A 200 step stepper makes one revolution every second when driven by that circuitry.

The clock signal is then fetched by a light barrier (ITR8102) and sent as clock input using a schmitt-trigger (CD4093).

Counter (the digital part)

The CD4040 is a simple IC: Clock in (negative edge triggered) and it counts up to 12 bits. And has a reset.

To divide/count up to e.g. 60 you have to trigger the reset at 0b111100. This can be done using diodes and a pull up resistor and a driver or, using an AND gate. I choused the AND gate because I also wanted some blinkenlights added and the tests showed that, the diodes solution was not working so well in that case.

The CD4040 circuit, with AND gate and LEDs to show the bits:

This circuit has to be built for seconds (divide by 60), minutes (divide by 60) and hours (divide by 24).

A small problem was: How can I set the time? The counter is falling edge triggered. My solution was a switch that disconnects CLK from the clock input and pulls the signal high. With a push button the CLK can then be pulled low. I also added a push button to restet the counter manually.

Digital Analog Converter (somewhere between digital and analog)

I used the DAC0808 with the default circuit from the datasheet. The not used lower bits were pulled down.

Moving Coil Instruments (the analog part)

I opened them up, cleaned them and painted them with shining black paint. Also a new scale must be designed.

Also, I replaced a resistor so that they now display 0..5V and not 0..10V. Unfortunately I did this after I ordered the PCBs, espessially the power PCB, because if I had done this modification earlier, I could drive everything with +/- 9V and not +/- 12V and that would have made the trafo smaller.

The Build

I decied to build it as a stack of PCBs on the right side of the meters.

  1. Clock Source
  2. Seconds Counter
  3. Minutes Counter
  4. Hours counter
  5. Power source (Base Plate)

I etched a 1st prototype of the PCBs on my own and optimized it afterwards (e.g. smaller switches and push buttons)

The new PCBs are here and all components are soldered

These parts work as desired (okay. I should have included something to debounce the switches, ...)

 the DACs work as can be seen in the oscilloscope.

I am not happy with the power supply. So I will redesign it to use two separate transformers, one for the electronics and one for the stepper. *To be continued*

Adobe Portable Document Format - 14.06 kB - 07/20/2020 at 16:13



Circuit divide 60 (minutes, seconds)

Adobe Portable Document Format - 10.31 kB - 06/06/2020 at 15:50



Circuit divide by 24 (hours)

Adobe Portable Document Format - 10.23 kB - 06/06/2020 at 15:50



Circuit clock source

Adobe Portable Document Format - 6.01 kB - 06/06/2020 at 15:50


  • 1 × Powersupply Trafo 2*12V 800mA, 7812, 7912, Elkos, Fuses
  • 3 × Counter CD4040, DAC0808, LM741, CD4082, 1k, 4k7, 10nF, 47nF, LED
  • 1 × Clock Source 1,8° Stepper, fork light barrier, CD 4093
  • 3 × moving coil meters

  • What is the correct value for the stepper capacitors

    Christian07/20/2020 at 16:58 0 comments

    The impedance of the capacitors should be the same as the one of the coils in the motor at the desired frequency. The impedance is calculated as:With 

    Rcoil = Xc = 30Ohm 

    f = 50Hz

    C = 106uF

    As I use 2 capacitors in series, the best match is 2*220uF resulting in 110uF.

    I measured the voltage at the both coils of the stepper with the oscilloscope and it showed that the value is okay (A picture of the wrong value is missing unfortunately, but believe me, it looks quite different ;-))

    And the stepper is spinning with 60rpm.

  • Modifying the meters from 0..10V to 0..5V

    Christian07/20/2020 at 16:39 0 comments

    Fortunately this was an easy task: replace the 9,82kOhm resistor with 4,7kOhm. (I did not remove the original resistor, just put in a new one and moved the connection)

  • clock source

    Christian06/12/2020 at 13:38 0 comments

    While waiting for the PCBs, I worked on the clock source. As the PCB did not change from my prototype, I only had to create a small part in tinkercad.

    Perfect ;-) - Now a little sanding and cleaning (and optionally some acetone-polishing (ABS print)) is missing.

    With this design, the pulse will be 1/2 turn HIGH and 1/2 LOW. With one turn per second it will generate one falling edge for the CD4040 every second. 

  • Waiting for PCBs to arrive

    Christian06/06/2020 at 12:15 0 comments

    - nothing more to say

View all 4 project logs

Enjoy this project?



don.vukovic wrote 06/09/2020 at 14:24 point

>> The clock signal is then fetched by a "fork light barrier" and sent as clock input using a schitt-trigger

Is this a test to see if people actually read this article ?


  Are you sure? yes | no

Christian wrote 06/09/2020 at 14:50 point

Uhps... okay the correct word for german "Gabellichtschranke" ... I looked up the datasheet it is named 'Slot Optical Switch' there.

And thanks for reading ;-) and finding the missing 'm'

  Are you sure? yes | no

don.vukovic wrote 06/09/2020 at 15:26 point

I had to google "fork light barrier" to see what I was missing as well.

After seeing the pics, I understood what you ment, but it was a funny word play.

Fun article.

  Are you sure? yes | no

Dan Maloney wrote 06/08/2020 at 20:12 point

Love those meters - where'd you find them?

  Are you sure? yes | no

Christian wrote 06/09/2020 at 15:53 point

I found them on ebay, searched alwyas for those meters, and then there were these two, NOT for 500A or 1000V ;-) - and for 1€ (+5€ shipping)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates