[HN Gopher] Precision Clock Mk IV
___________________________________________________________________
Precision Clock Mk IV
Author : ahlCVA
Score : 349 points
Date : 2025-05-31 15:06 UTC (7 hours ago)
(HTM) web link (mitxela.com)
(TXT) w3m dump (mitxela.com)
| addaon wrote:
| Beautiful write-up of taking a project from requirements to a
| shipping product. I wish I had any use for one at all!
| brokensegue wrote:
| i love mitxela and i love this project. don't know if i can
| stomach >250 GBP for a clock though.
| reconnecting wrote:
| Hope it's not the case, but...
|
| People with photosensitive epilepsy are affected by lights that
| have different flash or flicker rates from as low as 3 to as high
| as 60 per second.
| drivers99 wrote:
| What part does this comment refer to? It looks like they're
| multiplexing each section of the display at 100 kHz rate (500
| kHz overall), well outside that range.
| reconnecting wrote:
| Thanks for the clarification.
|
| I was just raising a general concern about flicker affecting
| people with photosensitive epilepsy, but if the multiplexing
| is indeed at 100 kHz per section, that's definitely outside
| the problematic range.
| alwa wrote:
| In fact, this is one of the central design points he mentions
| within the first two lines of TFA: no point in a clock with a
| milliseconds place if it doesn't display each millisecond
| legibly.
|
| > _Summary
|
| The specifications for the clock were as follows:_
|
| * _Millisecond precision, with no perceptible jitter_
|
| * _Display clearly, without flicker, when filmed at very high
| framerates (20,000fps or more). The brightness should still
| automatically adjust, of course, and without the use of PWM_
| reconnecting wrote:
| This reminded me how in Japan, 700 people were rushed to the
| hospital after watching pokemon on TV [1] due to 12Hz
| red/blue flashing frames, but now I understand that's not the
| case here.
|
| [1] https://www.neurology-asia.org/articles/19991_001.pdf
| cstrahan wrote:
| I'm guessing you've already realized this, but in case it
| helps clarify things for someone else:
|
| The signals rates mentioned in the article are with respect
| to how frequently the segments are updated, not the
| brightness. (With the one exception being the colons being
| PWM controlled, IIRC).
|
| PWM means Pulse Width Modulation. Controlling a (perceived)
| light intensity of an LED via PWM means (if we pretend for
| the sake of simplification that the voltage rise and fall
| is instantaneous, etc) quickly turning the LED fully on and
| fully off, varying the duty cycle to achieve the desired
| perceived brightness. This project avoids the flickering
| inherent with PWM by not using PWM: the voltage itself is
| set to some fixed value for a given target brightness.
|
| (If one then wonders why this wouldn't be the default
| approach for such things: microcontrollers often provide a
| built in means for PWM output, but it's less common to have
| built in true, non-PWM analog outputs, requiring additional
| parts (thus more cost, more complexity) to implement
| variable voltage control).
| reconnecting wrote:
| Thank you for your time to explaining this. Really
| appreciated.
| hinkley wrote:
| I'm missing the part where he succeeded at that. In the demo
| I just see #88 the entire time.
| Youden wrote:
| Look at later in the video:
| https://youtu.be/XL2cZjO5IUY?t=370
| hinkley wrote:
| Ah. I believe the "correct" solution is you record at
| high speed and down sample for the big screen in order to
| avoid the motion blur. There are a couple scenes before
| he gets to the real high speed where he's showing the
| clock slowed to 1/10 speed at which point the 100ths
| place is only a little slow to update. I'm still seeing
| some alpha nerd room for making the LEDs tick over
| faster. Maybe the Mark V.
| drivers99 wrote:
| The attention to detail in the assembly instructions was
| enjoyable to read.
| airstrike wrote:
| Easily my favorite part
|
| _> Auto timezone_
|
| _> Possibly the most requested feature, automatically setting
| the timezone based on the GPS coordinates was essential. However,
| most people don 't realise how complex this process is, at least
| within the restrictions I'd given myself: no internet or cellular
| modem, nothing beyond the GPS data, and a USB port for occasional
| updates._
|
| _> If we had an internet connection, sure, we could just query
| an online service. But I don 't want my clock to require wifi._
|
| _> 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._
|
| _> I 'd also like, just for the sake of it, for the clock to
| work anywhere in the world, even at sea._
|
| _> This means we need to keep a copy of the map data for the
| country outlines for the whole world. It also means we need a
| full copy of the timezone database, and have the processing power
| onboard to make use of all this._
| Neywiny wrote:
| 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 wrote:
| > 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 wrote:
| > 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 wrote:
| 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....
| wpm wrote:
| Out of curiosity, what would getting it tested cost?
| InitialLastName wrote:
| Around here (US East Coast), a day of testing at an FCC-
| accredited lab for self-certification (so without the lab
| having to do the TCF or their own documentation) of a
| small device without unusual IO or power requirements
| costs between USD $1K-$4K.
| LiamPowell wrote:
| For just the EU EMCD and for a simple device like this
| there's labs out there that will charge as little as
| $1000. You can technically also do things yourself
| although I don't know the exact legal requirements off
| the top of my head.
| Workaccount2 wrote:
| 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 wrote:
| 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.
| ianbicking wrote:
| "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?
| infthi wrote:
| One possibility is to call 911 and ask what time is it.
| accrual wrote:
| 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.
| mattbee wrote:
| 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.
| zzo38computer wrote:
| > 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.)
| c5karl wrote:
| 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 wrote:
| 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 wrote:
| 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.
| huslage wrote:
| 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.
| TechDebtDevin wrote:
| 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.
| ianbicking wrote:
| I'm not exactly clear on the difference between "time" and
| "timing"...? Like an accurate incrementing time offset from
| some unknown start point?
| kvmet wrote:
| 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).
| lifthrasiir wrote:
| 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.
| geerlingguy wrote:
| 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!
| newman314 wrote:
| 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 wrote:
| Check my time-pi repository on GitHub:
| https://github.com/geerlingguy/time-pi
| boricj wrote:
| > 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.
| XorNot wrote:
| 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 wrote:
| 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 wrote:
| How do SCIFs do time? Do they use optoisolated network
| connections and then do time sync over that? (SIPRnet, is
| it?)
| wpm wrote:
| 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.
| Scene_Cast2 wrote:
| 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.
| sstanfie wrote:
| 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 wrote:
| How well synchronized are the updates of the two displays?
| geerlingguy wrote:
| Assuming any decent GPS signal at all, they should be well
| within 1ms of each other, likely a bit better.
| tverbeure wrote:
| 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.
| geerlingguy wrote:
| That it does.
|
| Should be within tens of ns if you have good reception
| and decent antenna placement.
| addaon wrote:
| In a previous life, with a specific set of hardware, we
| used a measured value of 70 ns two sigma as the typical
| skew between two GPS-disciplined clocks. Don't use these
| numbers without testing your own system, but confirms
| order of magnitude estimate.
| mastax wrote:
| Absolutely fascinating read and design process for something
| which I thought didn't seem that hard to do ;)
| lokimedes wrote:
| Feature request for Mk V: An onboard committee of three atomic
| clocks to ensure proper uncertainty estimation when GPS is lost.
| mastax wrote:
| Finally a good use case for the chip-scale atomic clock.
| https://www.microchip.com/en-us/product/csac-sa65
| nullhole wrote:
| Heh, my thoughts exactly!
|
| Those chips are also useful for getting better positions from
| navigation signals. One could imagine using them to help
| filter out spoofed signals, for example.
| nullhole wrote:
| They exist[0], but aren't cheap (~$1400 US/chip for the base
| model).
|
| [0] https://www.microchip.com/en-us/products/clock-and-
| timing/co...
| tverbeure wrote:
| Rubidium oscillators are atomic clocks the way PhDs are
| doctors!
|
| (Don't worry, I know they are considered atomic clocks, I
| have 2 Rb modules.)
| KingOfCoders wrote:
| A philosophical, ontological problem, a clock or a display?
|
| (Really nice project)
| accrual wrote:
| 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 wrote:
| > 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 wrote:
| Great point! I suppose then it would be trivial to add ones
| own USB-C port if desired.
| LiamPowell wrote:
| 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.
| hinkley wrote:
| Umm.. it's not time to the millisecond of the 100s and
| thousandths place smear to "88".
|
| I wonder if there's some electronics hackers you can do to
| increase the response time on the last three elements.
| m1el wrote:
| It's an artifact of the camera. The camera shutter is long
| enough that it averages the images over 33ms. At some point in
| the video you can see that a high speed camera can see the
| correct display.
| hinkley wrote:
| In the high speed you can see that they are distinct but you
| can see the rollover. Maybe mark V could tighten that up.
| WhitneyLand wrote:
| Is it possible to be an engineer and not think this is cool?
| IIAOPSW wrote:
| 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 wrote:
| 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.
| djoldman wrote:
| You just have to give the upvote for projects targeting extreme
| performance hardware by the DIY folks.
|
| If I'm not mistaken, this is why HN was made.
| hinkley wrote:
| I'm still waiting for several guys on YouTube to get their
| steel ball clock to display seconds.
|
| Though their neighbors will kill them. Their prototypes are so
| goddamned loud.
| hinkley wrote:
| The bike mechanic in the back of my head wants to know if you
| eventually filed down those bolts so they aren't as proud of the
| nuts.
| xd1936 wrote:
| I've assembled two Mk III kits and they've been a delight each
| time. Instant impulse buy from me.
| matrix2596 wrote:
| Best of luck.
| matrix2596 wrote:
| Really interesting to see the deep dive into PCB design and EMI
| considerations here. It's a great reminder how much thought goes
| into balancing cost, manufacturability, and compliance, even for
| hobbyist products. The point about using one layer as a near-
| continuous ground plane is especially practical, and it's
| fascinating how even seemingly minor layout choices can have big
| implications for signal integrity. Thanks to everyone for sharing
| their expertise--it's one of the things that makes this community
| so valuable.
| matrix2596 wrote:
| yes
| HippoBaro wrote:
| I'm amazed by the ambition, technical brilliance, and relentless
| dedication behind some personal projects on display here.
|
| All of this for a clock! I don't get it, but I'm in awe.
| gregsadetsky wrote:
| 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!
| bdz wrote:
| PS350, I just realized I'm poor
| layer8 wrote:
| It's cheaper than an Apple Watch Series 10. ;)
| bubblethink wrote:
| Cool project, but with this sort of power and area budget, can't
| we use chip scale atomic clocks ? Also, the quartz accuracy is
| listed as 1000 seconds to drift 1 millisecond. So that's 31 secs
| a year ? That's less than HAQ quartz watches (+- 5 secs a year)
| and definitely less than Citizen 0100 (+-1 sec a year).
| layer8 wrote:
| The clock is synchronized to the GPS time signal. So the quartz
| accuracy is only for when you have no GPS signal, or between
| synchronizations.
| bubblethink wrote:
| Yes, I get that, but that is less interesting. Any clock can
| sync to GPS or NTP. It would be cooler to have an autonomous
| accurate clock if you are making a giant device with an ARM
| chip, flash storage etc.
| layer8 wrote:
| I wouldn't know how to obtain a clock that synchronizes to
| GPS. I've had situations in the past where it would have
| been useful to have such a clock for checking at a glance
| if the NTP server is screwing me up, or when you're
| offline.
| bubblethink wrote:
| If you want a commercial GPS wall clock, Seiko makes
| several models. I have one - GP502W. They make others
| too. They are JDM models though, so you'll have to order
| one from Japan.
| layer8 wrote:
| Thanks. Do you know if it automatically adjusts to the
| local time zone?
| bubblethink wrote:
| No, it doesn't. You need to set the offset to UTC
| manually. You also need to set the dates when daylight
| savings start and end if you live in a place that that
| uses daylight savings. But it runs on batteries that last
| for 3 years, so it's very low maintenance.
| syncsynchalt wrote:
| In the continental US it can be more convenient to get a
| clock that syncs to WWV, since it works without an
| external antenna. WWV is accurate to within 100ns, though
| you'll have propagation delays depending on your position
| in the US (I'm 50 miles from the station).
| wpm wrote:
| This is a good place to start:
| https://news.ycombinator.com/item?id=44145770
|
| There is another project out there using a BeagleBone
| Black plus a small hardware RTC and a GPS module hooked
| up over GPIO/serial. The advantage there is that the BBB
| supports hardware PTP timestamping on its built-in NIC. I
| threw one together over a weekend, just need to design up
| a small box to hold it all in (though the cable mess of
| jumpers also made me want to design an interposer board
| to clean things up)
| s0rce wrote:
| Aren't they significantly more expensive, $5k?
| layer8 wrote:
| How well does the GPS work indoors?
| jiveturkey wrote:
| Damn. Out of Stock.
|
| Wish the 2 ports were on the rear.
| timewizard wrote:
| > Timezone and offset should be determined automatically from the
| GPS coordinates, no customisation or user interaction needed
|
| Are there no good reasons why I might want to display time for a
| timezone other than the one I am currently in?
| PicassoCTs wrote:
| Wouldn't be- a oscillator display, showing the quartz crystal
| oscillating, be the final display of precision? Like a pendulum,
| but for the digital age?
| sneak wrote:
| I thought about doing precisely something like this, with a tcxo
| and an fpga! I'm happy to see someone else has already taken it
| to its logical conclusion.
|
| The only other thing I'd add is NTP support, and perhaps I2C for
| driving external displays (such as a few other time zones).
| lgats wrote:
| feature request: wifi and ntp server
___________________________________________________________________
(page generated 2025-05-31 23:00 UTC)