Skip to content

circuitrewind/stratipi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

148 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

███████╗████████╗██████╗  █████╗ ████████╗██╗██████╗ ██╗
██╔════╝╚══██╔══╝██╔══██╗██╔══██╗╚══██╔══╝██║██╔══██╗██║
███████╗   ██║   ██████╔╝███████║   ██║   ██║██████╔╝██║
╚════██║   ██║   ██╔══██╗██╔══██║   ██║   ██║██╔═══╝ ██║
███████║   ██║   ██║  ██║██║  ██║   ██║   ██║██║     ██║
╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝   ╚═╝╚═╝     ╚═╝

Stratipi turns a Raspberry Pi into a highly accurate Stratum-1 NTP network time server by using a connected GPS receiver under FreeBSD.

Stratipi Introduction YouTube Video


Features

  • Uses GPS with PPS for precise timekeeping
  • Runs on FreeBSD via Raspberry Pi
  • Provides Stratum-1 NTP service

Hardware Requirements


Installation

  1. Download the Stratipi image file from Releases.
  2. Flash Stratipi image onto the SD card.
  3. Insert flashed SD card into the Raspberry Pi.
  4. Attach the GPS HAT to the Raspberry Pi.
  5. Plug in Ethernet cable to Raspbery Pi.
  6. Power on the Raspberry Pi.
  7. ...
  8. PROFIT!

The Raspberry Pi will attempt to acquire an IPv4 address via DHCP automatically.

Chrony NTP server will also start serving time as soon as the OS fully boots up, synced to other public NTP servers to start with. As soon as GPS signal is fully locked and registering in gpsd, Chrony will shift time syncronization over to GPS+PPS automatically.


Using Stratipi

Upon first bootup, Stratipi will automatically launch into a visual TUI dashboard to show system status.

This dashboard will show the acquired DHCP IP address in the bottom status bar, the most important piece of information for using Stratipi as a time server.

The dashboard also shows the output of chrony tracking and chrony sources as well as cgps. These combined should give a solid indication as to the health of the unit.

cgps on the lower-right: this displays the current health of the GPS signal, such as the number of visible satellites with their signal strength and relative location in the sky, as well as the number that are currently in use for triangulation.

chronyc sources on the top-right: this displays what chrony is using to determine the current time, as well as the accuracy of each source. When GPS is locked, the last "jitter" column should eventually fall to around 500-1500 nanoseconds.

chronyc tracking on the bottom-left: this displays now well the time is being applied to the local system clock as well as how accurate the clock is over time.

tty-clock on the middle-left: displays the current system time in UTC

Stratipi Dashboard


Contributing

Contributions are welcome. Please submit issues and pull requests ot make Stratipi more AWESOME!


Compiling / Building

On a FreeBSD 15.0 or newer system, run the following:

git clone https://github.com/circuitrewind/stratipi.git
cd stratipi
./build.sh

Yes, it is literally that simple and easy to run the build process to generate your own disk image file!


License

This project is licensed under the BSD License. See LICENSE file for details.

About

A GPS Based Stratum-1 Time Server for Raspberry Pi using FreeBSD

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors