Adafruit iconAdafruitSep 7, 2026 ~2 min source read

Restoring a 1995 TrueTime GPS Time Server with a Raspberry Pi 5 and Python

A vintage TrueTime XL-AK unit was rebuilt as a stratum‑1 GPS time server by replacing internal electronics with a Raspberry Pi 5, a GNSS HAT, and modern software (Chrony, gpsd). The build preserves the original display and LED, is reversible, and required tuning to stabilize the Pi’s oscillator and PPS handling.

Rebuilding a 1995 GPS Time Server with Raspberry Pi and Python

Share this story

Send the public story page.

Useful takeaways from this story.

The TrueTime XL-AK was converted to a stratum‑1 NTP server by installing a Raspberry Pi 5 and a GNSS HAT (u‑blox NEO‑M9N) while retaining the original LCD and status LED.

Mechanical and thermal tuning—insulating the Pi’s crystal area, enclosing the board, running a fixed fan speed, and setting force_turbo—improved oscillator stability.

# What was done A 1995 TrueTime XL-AK GPS time server was rebuilt using a Raspberry Pi 5 as the modern timing engine. The builder replaced the original internals with a Pi 5 and a GNSS HAT that uses a u‑blox NEO‑M9N module, while preserving the unit's external features like the Densitron 16×2 LCD and the bicolor status LED.

# Software and services

# Hardware details and integration The GNSS HAT provides GPS timing and PPS. The Pi's GPIO drives the LCD and the existing bicolor LED. Wiring inside the TrueTime case used 30 AWG wire wrapping because there's insufficient vertical clearance for typical Dupont connectors. Two connectors were added so the original TrueTime hardware can be reinstalled without permanent modification.

# Timing stability and tuning Much of the effort went into oscillator stability. Concrete steps taken:

  • Insulated the bottom of the Pi where the crystal sits.
  • Enclosed the Raspberry Pi board inside the case to control airflow.
  • Ran the fan at a fixed speed rather than variable control.
  • Set force_turbo on the Pi to reduce frequency scaling effects.
  • Pinned PPS interrupt handling to CPU3 to reduce jitter and improve deterministic timing response.

These steps focused on reducing thermal and frequency variability that affect precise timekeeping.

# Why retain original indicators Keeping the Densitron 16×2 LCD and bicolor LED preserves the original unit's user interface and status indicators. The Pi drives those components directly over GPIO, providing the vintage look while supplying modern timing services behind the scenes.

# Reversibility and practical constraints

# Where to find more The detailed step‑by‑step account, a video, and the project's code are posted on Jeff Geerling's site and GitHub (links cited in the original writeup). The Adafruit post summarizes the project and points readers to that deeper documentation.

# Practical takeaways for a similar rebuild

  • Address thermal and oscillator sources of drift: insulating the crystal area and controlling airflow can materially help.
  • Pin PPS interrupts to a dedicated CPU core if the OS and workload permit.
  • Plan for tight mechanical fit: small‑gauge wiring and custom connectors make a clean, reversible installation possible.

This project turns a vintage chassis into a functional modern stratum‑1 time server while allowing owners to restore the original hardware without permanent changes.

More context around this story.

New gpclk overlays for Raspberry Pis
Adafruit iconAdafruitSep 7, 2026

New gpclk overlays for Raspberry Pis

Raspberry Pi has added a pair of device tree overlays that turn one of the general purpose clock outputs, GPCLK, into a clock signal on a GPIO pin. The pint can stand in for a crystal in a project. The trick was possible years ago with a custom dt-blob.bin, which is no longer supported. One […]

Jeffgeerling iconJeffgeerlingAug 30, 2026

Before NTP there were Time and Daytime

In building an NTP time demo on old Macs for VCF Midwest , I came across RFC 867 and RFC 868 , for the 'Daytime' and 'Time' Protocols, respectively. My first exposure to any form of network time was when I upgraded from a used PowerBook 180c to my first 'new' computer, a Power Mac G3, in 2000. With the introduction of

Raspberry Pi 10000
Adafruit iconAdafruitSep 14, 2026

Raspberry Pi 10000

Super cool recent build from Indian maker Arnov Sharma: The main reason for making this project was actually pretty simple. I was already using the Pi 500+ with my USB recording microphone for voice-over work, and I kept thinking it really needed its own screen. See more details here on Instructables and YouTube.

Loading more related stories...

Keep reading in the app

Open the app view to save this story, compare related coverage, and continue from the same source.

Open in app