rtc module ds3231 product page: https://www.adafruit.com/product/3013 product tutorial: https://learn.adafruit.com/adafruit-ds3231-precision-rtc-breakout/overview install packages python3-smbus i2c-tools enable i2c support in raspi-config interfacing options->i2c-> enable kernel module loaded by default check that i2c-dev is in /etc/modules add `dtoverlay=i2c-rtc,ds3231` to /boot/firmware/config.txt reboot detect/test module `sudo i2cdetect -y 1` looking for address UU AFTER configure Overlay looking for address 68 BEFORE configure overlay remove package fake-hwclock remove from rc read rtc `sudo hwclock -r` set rtc `sudo hwclock -w` raspberry pi RTC tutorial: https://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/set-rtc-time pinout: https://learn.adafruit.com/adafruit-ds3231-precision-rtc-breakout/pinouts battery: CR1220 chipset product page: https://www.analog.com/en/products/ds3231.html chipset datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/DS3231.pdf chipset reliability report: https://www.analog.com/media/en/technical-documentation/reliability-data/ds3231.pdf notes: https://serverfault.com/questions/1093101/chrony-hosting-time-with-rtc-as-authoritative-clock-on-an-air-gapped-isolated?__cf_chl_tk=G_sZX4ClltOv3fQJpH1q2a65tx4O2s_H_FObeBQ2UyU-1749831141-1.0.1.1-W0v5fl8cCrf0tIpB0pAqIb93L5MuoWeebiHm7iLGAlo https://stackoverflow.com/questions/49730407/how-to-do-one-shot-time-sync-using-chrony do oneshot sync? script set every x seconds `sudo hwclock -r` change gps to use 5v if possible so rtc can use 3v cable delay cable is 10ft? RG-174? 14.3 velocity factors of cable forms RG-58: VF ≈ 0.66 (66% of the speed of light) RG-174: VF ≈ 0.70 LMR-200: VF ≈ 0.83 LMR-400: VF ≈ 0.85 formula CD = time in nanoseconds of cable delay L = Length of cable in UNIT DF = delay factor in UNIT )speed of light in a vaccum used in nanoseconds per UNIT) 3.33 = ns (nanoseconds per meter) 1.016 = feet (feet per meter) VF = velocity factor of cable (above) CD ≈ (L*DF)/VF CD ≈ (Length (meters) * 3.33 (baseline light speed in a vaccum ns/m)) / Velocity Factor of cable (VF) derriving the speed of light offset t(ns) = time in nanoseconds c = speed of light in a vaccum in meters per second (3*(10^8) m/s) d(m) = distance to travel in meters t(ns) = d(m)/c