Files
Precision-Timekeeping-Fuckery/DOCS.md
T
2025-06-13 23:41:55 -06:00

3.9 KiB

Install

Hardware Needed

  1. Raspberry Pi of any type
  2. Timing Specific GPS Module U-BLOX ublox LEA-M8T-0-10 HUAWEI GPS Module
  3. High Precision RTC Module like Adafruit DS3231 Precision RTC Breakout
  4. CR1220 Battery for RTC
  5. Female to Female jumper/dupont wires
  6. Raspberry Pi Case that Exposes GPIO
  7. (GPS Antenna)[https://www.aliexpress.us/item/3256808971033962.html]
  8. (Cable for GPS Antenna)[https://www.amazon.com/Superbat-coaxial-Bulkhead-Adapter-Equipment/dp/B07FC8PVZS?th=1]
  9. (GPS Antenna Adaptor)[https://www.amazon.com/dp/B00CVR4NN0]
  10. UART
  11. Solder Supplies (maybe)

Configuring Hardware

  1. Install (u-center)[https://www.u-blox.com/en/product/u-center] NOT u-center 2
  2. Wire UART of GPS Module to your UART
    1. Change baudrate to 115200

Wiring Everything Up

GPS Module

  1. GPS GND to RPi Physical Pin 6 (GND)
  2. GPS RX to RPi Physical Pin 8 (GPIO 14 / TX (UART))
  3. GPS TX to RPi Physical Pin 10 (GPIO 15 / RX (UART))
  4. GPS PPS to RPi Physical Pin 12 (GPIO 18)
  5. GPS VIN to RPi Physical Pin 27 (3.3 volts)

RTC Module

  1. RTC GND to Rpi Physical Pin 9 (GND)
  2. RTC SDA to RPi Physical Pin 3 (GPIO 2 / SDA1 (I2C))
  3. RTC RCL to RPi Physical Pin 5 (GPIO 4 / SCL1 (I2C))
  4. RTC VCC to RPi Physical Pin 1 (3.3 volts)

Setup Pi

  1. curl -s https://raw.githubusercontent.com/PrincessPi3/Precision-Timekeeping-Fuckery/refs/heads/main/installer_auto.sh?nocache=$RANDOM | sudo $SHELL
  2. cd ~/Precision-Timekeeping-Fuckery
  3. bash installer1.sh (will reboot)
  4. cd ~/Precision-Timekeeping-Fuckery
  5. bash installer2.sh (will reboot)
  6. cd ~/Precision-Timekeeping-Fuckery
  7. bash installer3.sh (will reboot)
  8. cd ~/Precision-Timekeeping-Fuckery
  9. bash installer4.sh (will reboot)
  10. Grafana
    1. open grafana web interface in a browser: http://<ip>:3000
    2. username admin password admin
    3. set new password
    4. Dashboards->Import
      1. Upload Garfana-Visualization.json
    5. edit each graph and just save
  11. After 24 Hours
    1. cd ~/Precision-Timekeeping-Fuckery
    2. bash reconfig_full.sh ./running-warn-level-conf (will reboot)

Scripts

uninstall.sh uninstalls everything chrony_statistics.sh uses the python script chrony_statistics.py and feeds it copies of tracking statistics to calculate offset cleanup.sh remove old files dump_configs.sh make a backup of all configs full_status.sh show status of all of the componants of Precision-Timekeeping-Fuckery one by one installer_auto.sh script to initialize the install, it is run first

  • usage: curl -s https://raw.githubusercontent.com/PrincessPi3/Precision-Timekeeping-Fuckery/refs/heads/main/installer_auto.sh?nocache=$RANDOM | sudo $SHELL installer1.sh first manual installer script. runs rpi-config and optionall rpi-update installer2.sh second manual installer script. performs a dist-upgrade and an autoremove installer3.sh third manual installer script. adds grafana and telegram repos, uninstalls and disables unneeded junk, installs packages, adds pps-gpio to /etc/modules if not there, autoremove, gives users the right groups installer4.sh final manual installer script. runs reconfig_full.sh and enables the services on boot nuke_logs.sh does just what it says on the tin reconfig_full.sh reconfigures services in one of the directories
  • usage: bash reconfig_full <config_directory> services.sh runs an operation on all of the relevant services
  • usage: bash services.sh [start|status|stop|restart|reload|enable|disable] show_running_configs.sh shows the current config files, one by one cable-delay-calc.xlsx spreadsheet to estimate cable delay in ns

Files

status.txt this shows the progress of an ongoing install, it is automatically created at the start and deleted at the end CHANGEOG.txt this is all the latest changes version.txt version of Precision-Timekeeping-Fuckery