# 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.