Time-Appliance-Project
Our great sponsors
Time-Appliance-Project | beaglebone-gps-clock | |
---|---|---|
13 | 3 | |
1,291 | 27 | |
1.9% | - | |
9.2 | 0.0 | |
6 days ago | about 1 year ago | |
C | Go | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Time-Appliance-Project
- Time Card Mini Adds Pi, GPS, and OXCO to Your PC
-
Meta's Reality Labs lost $3.99 billion last year, bringing its total losses since 2020 to $30 billion
Even just specific projects under that have been impactful. For example the open time server project.
- What’s the most granular magnitude of time (Picosecond, Femtosecond, etc.) that a CPU can return when it’s queried for system time?
-
New atomic clock loses only one second every 300B years
Facebooks Time Card is a good starting point if you want to start looking into how higher end timing devices are built: https://github.com/opencomputeproject/Time-Appliance-Project...
Afaik its not currently available for purchase, so it is more of a diy route. If you want a standalone unit, it probably wouldn't be too big of hassle to ducktape that Time Card to e.g. Raspberry Pi CM4 or similar module with pcie and drive a display (or whatev) that way. Or that FPGA on the Time Card probably has enough spare capacity to do it directly too, for a simplified architecture (and maybe better hard realtime control).
- Time Appliance Project
-
Host your own Stratum 1 NTP (network time protocol) server using a $12 USD USB GPS to keep all your other servers synchronized
Now you can get/build your own atomic pcie clock for ~$300-2000 for your rack!
-
Time Card
Time Card is an open-source solution for PTP-enabled networks that provides the accurate time via GNSS—with a high stability (and holdover) oscillator such as an atomic clock as a backup in the event of GNSS failure. zeroibis recommends it for those who "need to go the full self-hosted NTP route."
-
NTP - Help!
On a related note if you need to go the full self hosted NTP route: https://github.com/opencomputeproject/Time-Appliance-Project/tree/master/Time-Card
-
Facebook open-sourcing a more precise time server
Really nice of them to release this. However, unless I'm missing something, the HDL for the FPGA on the Time Card is not part of the release. It looks like it uses a proprietary IP core from NetTimeLogic
https://github.com/opencomputeproject/Time-Appliance-Project...
They do include FPGA bit streams, but it's disingenuous to claim a fully open source release.
beaglebone-gps-clock
-
Raspberry Pi Nixie Atomic Clock
This is a great project! I was expecting a run-of-the-mill GPSDO, but this is way better.
I've been looking for more time sources to add to my own GPS clock: https://github.com/jrockway/beaglebone-gps-clock (which is one of those boring ones that everyone has).
I have been thinking about buying a rubidium oscillator from eBay for fun, but basically anticipated the problem the author had -- they have been mistreated for years before finally landing on eBay, and aren't any good. GPS is my only frequency reference, so I wouldn't really be able to fix it; I'm at the mercy of my very obstructed view of the sky.
I'd like to be able to measure how badly out of sync I get when I fall down from 16 satellites to 4 satellite throughout the day. I can sort of intuit that from the data I get right now (I send "chronyc sourcestats" to influxdb every 30 seconds, and you can see that when the GPS signal gets bad, the frequency error in my system clock also gets bad.), but I'd like to measure it conclusively. Will probably spend a bunch of money on the problem and become even more unsure which way is up ;)
The link to the "time to digital converter": https://www.ti.com/lit/ds/symlink/tdc7200.pdf is very interesting, and I totally forgot that I should be measuring AC powerline cycles to see how they're doing relative to GPS.
(In the past, I also incorporated a WWVB receiver, but get such a terrible signal in New York that I didn't get any usable data out of it. I then dropped the ceramic antenna and that was the end of that project. I have since realized that I can buy a phase-modulation receiver inside of a clock, throw away the clock, and try that, however. Ordering one right now, actually! Thanks HN!)
-
The Raspberry Pi as a Stratum-1 NTP Server
I made one as well (with a Beaglebone) and also have notes:
https://github.com/jrockway/beaglebone-gps-clock
My guide is also quite out of date, but I did rebuild it from scratch a couple years ago by following my own instructions and they worked ;)
Some discussion on HN this morning: https://news.ycombinator.com/item?id=28141493
-
Facebook open-sourcing a more precise time server
What's interesting to me is how the form factor of timing GPS modules has stayed constant over the years. I started my GNSS timing journey with a used Trimble GPS from the 2000s, and it has the same form factor and pinout as the modern multi-constellation timing GPSes from uBlox.
I've had a GPS clock going for several years at this point, and without an atomic clock or really any fanciness (just LinuxPPS and Chrony), I see about +/- 380ns, which is pretty good. NTP to the Internet gives me jitter in the range of about 20ms-70ms, about 5 orders of magnitude worse.
(The version a few iterations ago looked like this: https://github.com/jrockway/beaglebone-gps-clock. But I now have a uBlox multi-constellation GPS, which is much more accurate with my limited view of the sky from my Brooklyn apartment. And I 3D printed the case, so it actually looks presentable instead of like some crazed madman that attacked a plastic case with a hacksaw -- which is exactly how I made the first case. As for the DS3231 RTC that I added... that seems to be stable within about 1.5us, which is pretty impressive. I tuned it a little bit with the trim register, though.)
What are some alternatives?
fboss - Facebook Open Switching System Software for controlling network switches.
txtempus - A DCF77, WWVB, JJY and MSF clock LF-band signal transmitter using the Raspberry Pi
GNSSTimeServer - WiFi-enabled GNSS (GPS, BeiDou, GLONASS, Galileo) fed NTP/RDATE server based on ESP8266/ESP32 and Arduino
moonfire-nvr - Moonfire NVR, a security camera network video recorder
onload - OpenOnload high performance user-level network stack
magma - Platform for building access networks and modular network services
Flicks - A unit of time defined in C++.