Files
Precision-Timekeeping-Fuckery/Todo-Upgrades.md
T

6.9 KiB
Raw Blame History

for sure upgrades:

  1. UPGRADE TO PI5 8GB
    1. HARDWARE IMPROVEMENTS
      1. the Pi5 8GB
      2. Case
        1. Metal
        2. Quality
        3. Actively Cooled (fan)
        4. Exposes ALL GPIO and usb
      3. Nice quality 256GB microsd (Sandisk Extreme 256GB)
      4. New long high grade ethernet cable
    2. SOFTWARE IMPROVEMENTS
      1. OPERATING SYSTEM IMPROVEMENTS
        1. Rpi os lite 64bit latest stable
        2. disable and uninstall any unused services
          1. get list of registered services with
sudo service --status-all | tee -a "~/$(date +"%Y-%m-%d-%H%M-%S-%Z")_service-status-all.txt"
     1. uninstall any unused packages
        1. get list of packages installed with
sudo apt list --installed | tee -a "~/$(date +"%Y-%m-%d-%H%M-%S-%Z")_installed_packages.txt"
  1. pin chrony/etc to one specific core?
  2. dial up NEO-10 gps timekeeping uart speed to highest practical baud rate
     1. to Pi5 GPIO
     2. to Ublox2 highest stable setting
        1. This will require serial interface with the chip
           1. normal pins for uart?
           2. usb d+ and d- lines?
           3. external uart to somewhere else
  3. OUTPUT IMPROVEMENTS
     1. remote hosted web apps (prolly node) that get goverened by grandfather clock over idk webrtc/websockets/mqtt/calling a page, whatever
        1. goven universal beat time web app
        2. govern a normal multi-tz grandmasterclock output web app
     2. highest possible accuracy/speed ntp/time server available
     3. Update Telegraf/Grafana/etc to log
        1. pps variance over four periods of time
           1. measure each pps, log exact value in telegraf->grafana
           2. Occasinoally calculate an average inaccuracy
              1. Hourly (display in grafana view)
              2. Daily (display in grafana view)
              3. Weekly (display in grafana view)****
              4. Monthly (display in grafana view)
           3. use average inaccuracy to develop multiplier/divisor in real time for chrony
        2. cpu speed variance
           1. Occasinoally calculate an average inaccuracy
              1. Hourly (display in grafana view)
              2. Daily (display in grafana view)
              3. Weekly (display in grafana view)
              4. Monthly (display in grafana view)
           2. use average inaccuracy to develop multiplier/divisor in real time
        3. checks against RTC
           1. Occasinoally calculate an average inaccuracy
              1. Hourly (display in grafana view)
              2. Daily (display in grafana view)
              3. Weekly (display in grafana view)
              4. Monthly (display in grafana view)
           2. use average inaccuracy to develop multiplier/divisor in real time
        4. checks against NTP burst
           1. Occasinoally calculate an average inaccuracy
              1. Hourly (display in grafana view)
              2. Daily (display in grafana view)
              3. Weekly (display in grafana view)
              4. Monthly (display in grafana view)
           2. use average inaccuracy to develop multiplier/divisor in real time
  1. GPS MODULE TIMEKEEPING
    1. new NEO-10 gps timekeeping one, one with a 3.3v battery input for hot/warm starts maybe the 139Euro NEO-F10T L1/L5/E5a Receiver* MAKE SURE YOUR ANTENNA PLUG MATCHES THIS FORMAT! NO SCREW ON MORE LIKE SMA attached
    2. maybe get the canonical antenna/cable/adaptors off same site:
      1. (? not sure this is any better than my existing barrel antenna) gps antenna
      2. (need) gps antenna adaptor
      3. solder 3.3v lithium coincell battery/breakout to timekeeping gps (see datasheet)
        1. for hot and warm starts when power is lost
        2. to prevent pwoer loss of precision or accuracy
      4. see datasheet
  2. PCB HAT
    1. featuring
      1. pps gpio pin input (from NEO-10 gps timekeeping)
      2. 10mhz reference clock gpio pin input
      3. UART gpio pins in/out (from NEO-10 gps timekeeping)
      4. i2c pins for high precision RTC module
        1. and 3.3v lithium coin batt
    2. with NEO-10 gps module attached
      1. room for 3.3v lithium coin batt on NEO-10 gps timekeeping
      2. room for external antenna
    3. (?) clock generator chips (Texas Instruments LMK04832 or Analog Devices ADF4351) plus programming figured out
      1. these can take 10mhz/etc as input then multiply or divide the signal into a clean jitter free signal modified frequency output
  3. HIGH PRECISION REFERENCE OSCILLATOR SHIT (gps disciplined 10mhz rubidium reference oscillator)
    1. options for adding external oscillator:
      1. desolder pi4's normal crystal and input 10mhz reference pulses after high precision multiplying/dividing to the expected value, then soldered in. high precision pi native clock
        1. crystal available internetally
        2. would make pi4s ops far more consistant speed
        3. no effect on pps accuracy
      2. desolder gps timekeeping crystal and wire in 10mhz reference through high precision frequency multiplier/divider and soldered in
        1. this will make the gps pps very very accurate
        2. will let pi4 just operate off of the high quality pps signal
      3. apply 10mhz reference clock to rpi x xtal 0,1 to get 10mhz signal inside pi (see pi4 datasheet/notes)
        1. recalibrate chrony/gpsd/etc to base time off of this input
          1. may require custom forks or other shenanigans
      4. use high precision frequency multiplier/divider to get `10mhz reference into useable frequency for timekeeping, then input via x xtal 0,1 (see pi4 datasheet/notes)
        1. then base chrony/gpsd/etc off of that clock
    2. clock pulse generator? https://www.adafruit.com/product/2045
      1. uses i2c and an internal precision ox to generate up to three clock signals
      2. no clock input?
    3. convert 10mhz ref clock into 54mhz clock for rpi4 and rpi5
      1. Texas Instruments LMK04832 or Analog Devices ADF4351 programmed with a 5.4 frequency multiplier to convert 10mhz to 54mhz for rpi4+5 clock
  4. PULSAR SHIT
    1. will need to use google starmap thing to identify the roughs of where the milisecond pulsars are
    2. 2+ RTL-SDR V4 s
    3. 2+ LNA (Low Noise Amplifiers)
      1. coax in and out
      2. low noise < 0.5db
      3. high gain > 20db
    4. BPF (Bandpass Filter) to block strong out of band sdignasls
    5. parabolic antennas (ali express)
      1. high gain
      2. 2.5-3 meter diamater
      3. tuned to 420440 MHz (70cm band) and/or 1420 MHz (21cm band).
    6. wire to connect to RTL-SDR 4
    7. tripod/mount/adjustment mount (look into)
    8. maybe extra usb space