Close
0%
0%

chrono-ntp

Minimal terminal clock synced to NTP. Exploring alternative time sources (GPS) and formats (LTC, MTC, Swatch Internet Time).

Similar projects worth following
222 views
0 followers
chrono-ntp is a minimalist, cross-platform terminal clock that synchronizes directly with an NTP server to display accurate time, independent of the system clock. It continuously measures and applies the offset to an NTP source and shows a live-updating date and time in the terminal. chrono-ntp is intended as a clean reference clock for tasks like setting mechanical or digital watches or running a distraction-free terminal clock.

Key Features

  • Cross-platform: Linux, macOS, and Windows support (x86_64 and ARM)
  • NTP-synchronized time with automatic offset refresh
  • Multiple time formats, including ISO 8601, 12-hour, Unix, Swatch Internet Time (.beat), septimal time, Coordinated Mars Time (MTC), and Coordinated Lunar Time (LTC)
  • Time zone support with optional display
  • Optional Greenwich Time Signal beeps
  • Available as prebuilt binaries or via Homebrew

  • Adding GPS/NMEA as a Time Source

    Christian01/21/2026 at 20:24 0 comments

    chrono-ntp currently uses NTP servers to determine an accurate time offset independent of the local system clock. While this works well on networked systems, the next step is to support GPS as an alternative time source.

    Many USB GPS receivers expose a serial interface and provide NMEA sentences, including time and date information derived from GPS signals. Using GPS would allow chrono-ntp to operate as a network-independent reference clock, useful in environments without reliable internet access or where an external time source is preferred.

    The plan:

    • Read NMEA data from a serial device (USB GPS receiver)
    • Extract time information from standard sentences (e.g. RMC, ZDA)

    At the moment, I’m looking for a suitable USB GPS receiver to test this with real hardware rather than relying solely on simulated NMEA data. Once a device is selected, initial work will focus on basic parsing and validation before integrating it cleanly into chrono-ntp’s existing architecture.

    This should keep the tool simple while expanding it beyond network-based time synchronization.

View project log

Enjoy this project?

Share

Discussions

Ken Yap wrote 01/21/2026 at 23:43 point

Aren't modern OSes already running a system service to sync the system clocks to NTP and other sources? For example Linux runs chronyd or the older ntpd. Chronyd can also interface to a GPS receiver using gpsd. See #An NTP server using GNSS for time So to get the NTP time, just show the system time.

  Are you sure? yes | no

Christian wrote 01/22/2026 at 18:37 point

True, but where is the fun in that? :) I wanted something that is self-contained and also allows nerdy time formats like Coordinated Lunar Time. It also allows me to get deeper into the concepts of Go, since I mostly use TypeScript in my professional work.

  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