Winter came early

2026-09-30 ยท Electronics/RF Clock

An analog clock that receives time from my PC, with no microcontroller and no binary until the very last step, or maybe not at all!? ๐Ÿ˜ฎ I was going to start it in the dark Prague winter, but math study wore me out enough that I need the distraction now. ๐Ÿ’ฅ

A bit of history

Back when I had to choose a path at my university, I had a not entirely obvious decision to make - should I go for programming or electronics? Some random dude at the university said - "Go programming, with electronics you will spend your years drawing schematics no one needs, programming is the way to go." Obviously, I can't rewind and check whether he was right. I think he was, though. A programming career has opened more opportunities for me... but who knows...

And that "who knows" has decided to come back and bite me. Once more, flux smoke is about to make itself at home in my lungs! Just kidding, this time I'll be more careful! ๐Ÿคฃ

The idea for this project took at least half a year to crystallize. The troublemaker part of my mind was computing an angle of attack and an entry point somewhere in the background, while I was focusing on math study. I wanted a soft intro that would take me through all the basics. My plan is 50% to pick up all the theory I can digest and another 50% to build something at least semi-useful and practical. That is precisely how the idea of a clock that is analog and still synchronizes with my PC came to life.

Project goals and setup

As I have mentioned, I want things to stay analog for a while. Maybe I am naive, but I think digital is a rabbit hole that looks all too pretty from the entrance. And it ultimately leads to some Arduino and friends. I actually have another project brewing that goes down that alley, but I am trying to stay away from it for now. Analog is, I think, a good vehicle to start slowly, and its nature keeps things simple and small for a while, because the math for complicated analog is, I think, above where I am with my math study.

Taking things slowly should allow me to sync and synergize my math and electronics studies. This is the part that frustrated me the most when I was doing electronics as a teenager - pretty much all the math was above my level, and I didn't even have access to it. That was before I had internet access. I was sitting with a ZX Spectrum, and the couple of people who in theory could help were just not interested, or perhaps couldn't handle enough theory themselves!

Clock design

Anyway, enough of that. To the project. The idea is to send a signal from my PC that encodes time, receive it in the clock, decode it and display it. Since the signal comes from a PC, we get the practical perk of a clock that displays precise time and also does summer/winter time automatically. All of that while staying in a domain that is probably survivable as a first project.

Why a PC though? Apparently some old time signals like DCF77 are still alive and I could just receive that signal. But... not invented here, I don't need to be practical! And in theory I can take the idea in some other direction and transmit other data to show/cycle through some numbers, like the current temperature, the number of Slack messages from colleagues I have ignored so far, etc.

For starters, the signal is going to be on the PC's line out because, again, analog. I don't want to deal with USB either. That means the encoding has to fit in the audio range. There are of course limitations on the carrier signal too, but those are details I'll leave out for now.

Overall, I think the transmitter part is not that critical. It involves some programming to generate the signal, and I've been programming for 20 years now, though I've never done sound programming or signal processing ๐Ÿคฃ. With the transmitter part happily ignored for now, let's scope this project to the receiver.

The signal path:

The setup is so simple it naturally maps to modules I can figure out in isolation, and then fail at the glue-up stage where I get an impedance mismatch I can't solve... or can I? One day I'll know! ๐Ÿคฃ

So, here are the modules in the order I'll be implementing them:

  1. Filters. Actually, as I write this intro post, that part is already sketched out in my project notebook and modeled in KiCad. I know I have problems there, and Claude called my design decadent and said that a true 50s engineer would never spread their signal so wide all over the allowed band I have at ~94.5 kHz. And I said that I'll spread my signals any way I want...

  2. FtV. Frequency to voltage. I don't have a clue yet, but my lazy preliminary research says it's not too hard: a capacitor gets fed by the signal, and the faster the signal, the higher the voltage. How exactly? Future me's problem. ๐Ÿค“

  3. Digit encoder. So far the rough idea is to look at LM3914. Apparently it's precisely the thing I need: it drives an LED display based on input voltage level.

  4. Receiver/demodulator. Nothing exotic here, this part can't fail. ๐Ÿ’ฏ I pushed it closer to the end because I can feed all of the above modules with just a sound signal.

  5. Display. No decision here so far. I want something with a bit of vintage flavor. Segmented LEDs are meh. Nixies are abused to death at this point. I am considering a "lixie" type of display.

Easy? Of course. I'll follow up with a post on my filter design, where reality gave me a good boop on the nose. So I'm already in "maybe" territory right after finishing just one module's design/simulation. But I hope that after a couple of iterations I can find/settle on a feasible design. The filters are salvageable, I just don't want to complicate them until bench work says I need to go back to the notebook.

Next steps

Since I have the filters designed and the numbers figured out, I get to the sweet part where I finally get to play with the oscilloscope I procured months ago! ๐Ÿคฃ So I need to pick up some ferrite and wire, go build my filters, and see if I can tune them and get acceptable attenuation. But again, more on that in the next post. Stay tuned with no less than -20 dB at stop frequency!