Precision Clock Mk IV
129 comments
·May 31, 2025geerlingguy
gblargg
Note that it's LED, with each segment driven continuously with a variable voltage for brightness control. Even most LED drivers are multiplexed, with each segment flashing for a short time then going dark. This uses a separate dedicated buffer for every segment. This design is important for working well with high-speed cameras, an obvious use.
newman314
Super random but I seem to remember that you were working on/testing a different time device/prototype recently in a GitHub comment.
Can you perhaps refresh my memory? Been trying to find the reference and it's driving me nuts this am. Thanks.
geerlingguy
Check my time-pi repository on GitHub: https://github.com/geerlingguy/time-pi
ianbicking
"If we had a cellular modem, we could get the time from the cell towers, which is broadcast through a protocol called NITZ. This is how phones auto-update when you enter a different timezone, but it's somewhat unreliable depending on the carrier, and overall worse than using GPS. And I really don't want my clock to have a sim card."
Just out of curiosity, what can you do with a cellular modem but no sim card? Can you get the time?
jcrawfordor
CDMA networks broadcasted the time (from GPS) in the clear as part of the base station advertisements, so you used to see CDMA used as a precision time source without any kind of subscription required. CDMA equipment required accurate time for TDM coordination. Unfortunately GSM uses a different architecture for synchronization and does not require accurate time at all, so you have to be a subscriber to request time information and even then it is not all that reliable.
huslage
No. You have to have access to the network to get the time. You get timing from the network “for free” but it won’t give you time.
ianbicking
I'm not exactly clear on the difference between "time" and "timing"...? Like an accurate incrementing time offset from some unknown start point?
lifthrasiir
Timing is all about periodicity; if something beeps every second, you can measure intervals between two beeps but have no other information. It's often the case that timing is also synchronized to, say, second boundaries too, and most time sources would do this. Time would then be giving some indices to those beeps; the time source would beep and say that it was the N-th beep so that you can work the actual time out from N.
kvmet
I assume they are referring to the channel timing? Cellular frequencies are segmented into time segments where each channel is allowed to be used by only some devices when it is their "turn" to transmit (this allows multiple phones to share the same frequency at the same time).
TechDebtDevin
How can you access this timing I run a little mobile proxy service for myself and a few others, could add some value there. Mobile networks are quite interesting.
harshreality
Is there any difference between a phone with no sim, and a phone with an old sim that's not linked to an active account?
offmycloud
Yes, on newer networks, the 5G NR System Information Block 9 (SIB9) provides UTC time.
infthi
One possibility is to call 911 and ask what time is it.
accrual
I know this wasn't meant literally, but it does make for an interesting thought experiment - under what circumstances might it be valid to dial 911 to ask for the time?
My first thought was something like a nuclear operator - "we need to shut down the core at exactly 19:00, but our clocks are down!" so they call and wait for the operator to advise when the time is reached. Obviously contrived and not realistic, but interesting to think about.
disillusioned
That's what the US Naval Observatory Master Clock phone service is for: 719-567-6742
zzo38computer
> under what circumstances might it be valid to dial 911 to ask for the time?
Maybe, if all of your clocks don't work and you went to somewhere else and their clock isn't working either, and it is raining and you cannot use a sundial, and you tried to call everyone else already and they also cannot give you the time for whatever reason, then you might try to call 911 and ask them, because you tried everything else and it didn't work. (I once heard a (fictional) story where this happened. This is an unlikely scenario, but some of the things mentioned here (and other things) might happen, e.g. bad weather so you cannot go out, the television and computers are not working (and maybe the power is out but the telephone uses a separate power), and there are some problems with the telephone too (I have had problems before where some telephone numbers worked and some didn't), etc.)
mattbee
In the UK they are fine with you calling 999 to test your newly-configured office phone routing. They don't want a chat though.
adrian_b
At least in many European countries, the landline phone companies offered a short number for obtaining the time from an answering robot.
Many, many years ago, I have designed a piece of equipment that was integrated in a phone exchange and it provided vocal messages to be sent to a caller, for errors like non-existent phone number, but also for replying to the dedicated number for the time service. The messages were something like "The time at the next beep will be ... hours ... minutes ... seconds".
I have not heard about a similar service for mobile phones, because here the phone gets the time automatically and it displays it.
c5karl
It's not a good idea to call 911 with non-emergencies.
But until a few decades ago, the primary way most of us to set our clocks was to call a number the phone company provided, which in our case was TI4-1212. "At the tone, the time will be ..."
jrockway
You can still call NIST and get the time via "at the tone...": https://www.nist.gov/pml/time-and-frequency-division/time-di...
nine_k
If a response packet contains a good timestamp, you could initiate a 911 call, get a reply packet, and cancel the call before it reaches any actual operators.
boricj
> I designed this clock years ago, with the intention to incorporate every feature request I ever received for the previous precision clock.
My first thought after reading this statement was to add one Ethernet port to run a NTP server and have PoE capability. Completely overkill for the intended purpose, but I can't help but giggle at the thought of hanging this on a wall in a datacenter and have the clock also provide time-keeping for it.
wpm
Using 0.56” segment displays would probably let you reduce the horizontal size to below what would fit in a 1U rack mount. It would look sick at the top of the rack in my living room.
volemo
You've got a rack in your living room? Sick! (in both meanings)
Matumio
NTP will typically have about 10ms error which would be visible on this display. So for more authentic giggles PTP is recommended. With compatible switches to compensate for queuing delays and cable length. And if your provider doesn't give you a good time, put your own GPS-backed network clock on the roof. For science.
XorNot
That would actually be really useful though: being able to see at a glance what the network time should be would be incredibly useful.
There's other types of environments where you isolated users like SCIFs or really anything airgapped.
Hell: that would convince me to buy one that for my house.
signal-intel
No GPS in SCIFs. Agree ntp would be great. Also I’d prefer a way to manually switch between a fixed set of time zone, or even just showing UTC always as an option.
sneak
How do SCIFs do time? Do they use optoisolated network connections and then do time sync over that? (SIPRnet, is it?)
accrual
This is insanely cool. It's a beautifully written article that covers all the major design decisions and issues that affected the final outcome. I'm considering purchasing one for myself and to support the developer. It would be a very cool addition to a homelab or tech/hacker space.
I think my own minor issue is the use of a micro-USB port instead of USB-C - I wonder why, I don't see it mentioned in the article. Maybe adding a PD controller would have complicated the already complex dance of components on the board. Standard USB can supply 5V at 1A (5.0W) no problem, so maybe that was just a simpler way to go.
Kirby64
> I think my own minor issue is the use of a micro-USB port instead of USB-C - I wonder why, I don't see it mentioned in the article. Maybe adding a PD controller would have complicated the already complex dance of components on the board. Standard USB can supply 5V at 1A (5.0W) no problem, so maybe that was just a simpler way to go.
You don’t need a PD controller. You need two resistors of a set value to be able to have USB-C supply 5V at up to 3A. No ICs needed on the input side.
accrual
Great point! I suppose then it would be trivial to add ones own USB-C port if desired.
LiamPowell
Most have very small spaces between the pins, they might not have been able to do them reliably on their home setup shown at the end of the post.
bsder
Power-only USB-C connectors don't have the same pitch issues as they only need to pin out the power and CC1/CC2 pins.
However, the 0.65/0.40 pads required for USB-C are no longer an issue for any of the board houses I have used in the past couple of years.
roland35
Yeah you should be able to find a USB c connector that works. Plus you only need to route the power, ground, and d+/d- signals
sstanfie
I use two of these clocks daily at work, to synchronize a high-speed process on video. I'll be buying a couple more.
Scaevolus
How well synchronized are the updates of the two displays?
geerlingguy
Assuming any decent GPS signal at all, they should be well within 1ms of each other, likely a bit better.
tverbeure
A cheap GPS module without a disciplined 1PPS output (like the ublox MAX-M8 that's used in this project) typically has a jitter of about a few hundreds nanoseconds, so the potential is there for the precision to be much better than 1ms if the microcontroller on this clock has the 1PPS wired to an interrupt routine.
Neywiny
I'll concede I didn't make it all the way through. I always have respect for people who make a physical product, especially one to sell.
I'm not really tracking the MHz signals thing considering there's the 10 MHz oscillator. It would've been interesting to see an EMI/C report. Usually I can see SMPS frequencies as a spur (especially in PFM mode).
For the 32K, at least for the H7 they recommended a ring of ground around it for some shielding. Unsure if that would've helped here. There are also micros that can use their internal RC 32K on vbat. And ones that can do USB without a crystal. The best micro is the one you know, the second best is the one you have. Maybe that's in play here.
The LED driver variability was nifty. My first reaction to large IO with tight timing would be an FPGA, but I don't know if they'd like the variable bank supply. It would probably be fine bit the solution used is interesting and works.
LiamPowell
> It would've been interesting to see an EMI/C report.
It's a two layer board with no attempts made to keep loop areas small, it's going to be bad. Most of what I read of this seems fine at a glance but that part about EMI sticks out as complete nonsense.
Edit: I have nothing against it being a two layer stackup as part of the art of it, I however don't like that they're also claiming that it's designed to have extremely low radiated emissions while doing so.
mastax
> no attempts made to keep loop areas small
That is not correct, with a charitable reading of the text. Which is not to say it’ll have good EMI characteristics - you never really know until you get it tested.
> Artificially confining ourselves to two layers is exactly the kind of challenge I am wont to be engulfed by. The trick, if you want the board to work well, is to work on only one layer, and keep almost the entirety of the other layer as ground. It is almost always possible to do this, if you're willing to put in enough thought. I rather find that designing circuit boards is a lot like Tetris, and once I'm in the swing of it I can route things for hours on end. It can become a multi-day trance, with dreams of signal integrity and current loop area.
Though on this subject:
> In contrast, said this one PCB designer, a thin track has a higher inductance, so if you make your power supply lines thin, you'll get a free bit of extra filtering.
Inductance in your power supply lines is bad, but I don’t have time to get into it right now.
LiamPowell
I didn't see that bit, but the layout image[0] shows very large cuts in the ground plane with traces running right over the middle of them, especially between U8 and U7. There's plenty of space here to add some ground traces between them, but that hasn't been done.
> you never really know until you get it tested.
I suspect they haven't given the lack of a CE marking on the board.
As an aside that bothers me a bit given that they say they sold 1000 of the last version, which would easily cover the cost of the (legally required) testing. Normally I'm of the opinion that it's fine to ignore it for some obscure hobby product where the cost of testing would be higher than any expected profits, but in this case they have the money from previous versions of the same product.
[0]: https://mitxela.com/img/uploads/clock/mk4/kicad-screenshot2....
rcxdude
>Inductance in your power supply lines is bad, but I don’t have time to get into it right now.
Not always. You want to have appropriate nearby bypass capacitance, but it's common to filter power lines by deliberately adding inductance into them (this also requires care to avoid setting up resonances, but a thin trace will also add some resistance which helps with that). Either way it's not likely to make a detectable difference on this kind of PCB anyway.
Workaccount2
A case would probably have it back in spec, if its even out of spec on it's own. The energy is going to be so tiny in those high frequency waves because it's just signal and clock. Never mind that they are still pretty low frequency and those traces are going to be awful emitters in that range.
The highest energy part of the device is going to be the LEDs, which are switching well below the bottom of the standard EMI compliance range (10Mhz).
LiamPowell
MCU outputs can be nasty with their high switching speeds. Every STM32 has some slew rate limiting as far as I know, but I looked at their code on GitHub and they're explicitly turning it off for most pins so I assume it's not an option for their driver ICs for some reason.
schobi
What a beautiful execution. He seems to have included all requests and written about every detail.
Going to this kind of resolution, the only practical use case is with cameras. You record some frames and later want to check the exact timestamp. This is even useful for a single image, not just high speed cameras.
But taking images is not just a single point in time. There is an exposure time and it is hard to measure absolute timings on start and end of exposure. With a segment clock display, the numbers will blur. For this a row of LEDs is fine - just light up one at a time. In the image you will see multiple leds on at once, giving you verification of start and stop.
But again, I needed just one clock and built it already.
Scene_Cast2
That reminds me of production studio master clocks such as the bronics WCD-530W or the evertz equivalent. I'm more of a fan of the analog style such as the 1275T - https://evertz.com/products/12x5T.
Tabular-Iceberg
To work at sea it would rather need a way to manually enter an offset, since customarily the local time on board is entirely at the discretion of the master.
Jolter
Maybe a feature request for mk V?
IIAOPSW
When you're identical twin gets back from their extended space travels with their clock you're going to be in for some hard truths about the nature of precision and time.
hinkley
They just need to go to IIS. IIRC the astronauts are already milliseconds younger than us. Too bad hard living up there prematurely ages them far faster than milliseconds per day.
gregsadetsky
When I encourage/cheerlead my extremely technically talented friends to “monetize their hobbies”, I am picturing exactly this.
A hyper technical, perfectly executed, fun/whimsical/smart product. You can share all the source code and have build instructions! And sell assembled versions and make a buck! And hopefully make money / thrive/survive doing what… you love?
((The reality, ofc, is that in the hardware biz, getting more orders can just mean a ton of additional problems re logistics of making, assembling and shipping the thing. But I still naively think that’s a good problem..?))
Extraordinary Clock, truly. Cheers, congrats on launching and wishing you all the sales!
xd1936
I've assembled two Mk III kits and they've been a delight each time. Instant impulse buy from me.
One of the best features of this clock (I have one and have been messing with it a while now) is the up to 100 kHz refresh rate and an analog LCD driver circuit that makes the digits not flicker even a bit, even when dimmed, with a high speed camera.
That and the fact it's the highest precision clock display I've ever owned!
It is certainly not inexpensive, but it's more of an art piece than a practical instrument, unless your eyes can see in the thousands-of-hertz range!