diff --git a/Precision-Timekeeping-Fuckery-Upgrade-Roadmap.md b/Precision-Timekeeping-Fuckery-Upgrade-Roadmap.md new file mode 100644 index 0000000..cad8ff1 --- /dev/null +++ b/Precision-Timekeeping-Fuckery-Upgrade-Roadmap.md @@ -0,0 +1,167 @@ + +## for sure upgrades: +1. UPGRADE TO PI5 8GB + 1. HARDWARE IMPROVEMENTS + 1. the Pi5 8GB/16GB + 2. High stability USB-C power + 1. quality GaN + 2. behind surge protector (less ideal) or batt backup (ideal) + 3. Case ([amazon link to quality case](https://www.amazon.com/dp/B0CN8NQC47/?coliid=I25D7WU06WT9HS&colid=1ZF04J4MPX8Z9&th=1)) + 1. Metal + 2. Quality + 3. case has thermal paste/heats inks/fans + 1. [High quality thermal compound to attach to heatsinks](https://www.amazon.com/dp/B09VDLH5M6/?coliid=I2IGRDTAC7943I&colid=1ZF04J4MPX8Z9&th=1) + 4. Fan controlled and monitored, heat monitored + 1. Alarm for higher or lower than usual temp + 2. output fan usage/history to log/telegraf/grafana every 5 seconds + 3. output system temperature to log/telegrad/grafana every 5 seconds + 4. output uptime/%CPU/%MEM to log/telegraf/grafana every 5 seconds + 5. Exposes ALL GPIO and usb + 2. [Quality 512GB microsd (Sandisk Extreme Pro (latest model) 512GB)](https://www.amazon.com/dp/B0G8M74T13/?coliid=I2R7TER3Q0G09U&colid=1ZF04J4MPX8Z9&th=1) + 3. [20ft CAT8 Ethernet](https://www.amazon.com/dp/B0G8M74T13/?coliid=I2R7TER3Q0G09U&colid=1ZF04J4MPX8Z9&th=1) + 2. PCB HAT + 1. MADE OF + 1. PERF Board (have) + 2. female to male pins, gold coated copper (have) + 3. good leaded activated solder and activated flux (have) + 4. Solid copper core plastic coated, colored wire + 5. Clock pulse generator/frequency programmable dividers/multipliers (to get) + 1. 10mhz reference clock gpio pin input (from reference oscillator) + 2. programmable low jitter clean quality programmable clock generators/frequency divider/multiplier (3.3v) + 1. clock generator chips (these can take 10mhz/etc as input then multiply or divide the signal into a clean jitter free signal modified frequency output) + 3. Texas Instruments LMK04832 (best, supports 54mhz, programmablew) + 1. plus programming figured out + 6. Analog Devices ADF4351 (worse, doesnt natively support 54mhz, programmable) + 1. plus programming figured out + 7. 7490 IC 4-bit counter (div/5, div/2, together div/10) (cheapest, easiest, most common, can only convert 10mhz to 1mhz (div 5+2), 5mhz (div 2), or 2mhz (div 5)) + 1. plus programming figured out (shoudl just be setting/connecting/shorting some pins) + 2. UART gpio pins in/out (from NEO-10 gps timekeeping, pin in/out same as UART on NEO-10T) (3.3v) + 3. i2c pins for high precision RTC module (3.3v) + 1. and 3.3v lithium coin batt + 4. with NEO-10 gps module attached + 1. room for 3.3v lithium coin batt on NEO-10 gps timekeeping + 5. room for external antenna (have, get adaptor) + 1. get adaptor for [IP65 IPEX (U.FL) to SMA](https://gnss.store/products/elt0179) + 6. pps gpio pin input (from NEO-10 gps timekeeping) + 1. Solid Coper Wire ideally (have) + 1. _possibly_ with female/male pins crimped on? + 1. gold coated copper + 2. connection quality + 3. connection strength + 2. or stranded high quality copper jumper with gold coated copper pins + 7. (?) Logic shifters (high precision, arbitrary) + 1. like TXS0108E (have) + 8. SOFTWARE IMPROVEMENTS + 1. OPERATING SYSTEM IMPROVEMENTS + 1. Rpi os lite 64bit latest stable + 2. disable and uninstall any unused services + 3. get list of registered services with + +```bash +sudo service --status-all | tee -a "~/$(date +"%Y-%m-%d-%H%M-%S-%Z")_service-status-all.txt" +``` + + 4. uninstall any unused packages + 1. get list of packages installed with + +```bash +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 + 5. telegraf->grafana + 1. average hourly, daily, weekly, monthly erors average from + 1. NTP Burst check + 2. High quality RTC + 3. Pulsar signals (later) + 2. max/min error of + 1. NTP Burst check + 2. high quality RTC + 3. os clock speed + 4. pulsar signals (later) + 5. each + 1. Hourly + 2. Daily + 3. Weekly + 4. Monthly +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](https://gnss.store/products/elt0184) (need) 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](https://gnss.store/products/elt0140) + 2. (need) [gps antenna adaptor](https://gnss.store/products/elt0179) + 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. HIGH PRECISION REFERENCE OSCILLATOR SHIT ([gps disciplined 10mhz rubidium reference oscillator](https://www.aliexpress.us/item/3256811412964525.html)) (neeed) + 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 pi5 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? +3. 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 420–440 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 \ No newline at end of file diff --git a/Pulsar-Clock-Setup-RTL-SDR-V4-LNA-BPF_AI_Gemini.md b/Pulsar-Clock-Setup-RTL-SDR-V4-LNA-BPF_AI_Gemini.md new file mode 100644 index 0000000..eb65859 --- /dev/null +++ b/Pulsar-Clock-Setup-RTL-SDR-V4-LNA-BPF_AI_Gemini.md @@ -0,0 +1,78 @@ +Detecting a **Millisecond Pulsar (MSP)** with an RTL-SDR is one of the most demanding tasks in amateur radio astronomy. While detecting slower, brighter pulsars like **B0329+54** (period $\sim 714\text{ ms}$) or the **Vela Pulsar** ($\sim 89\text{ ms}$) is achievable with standard amateur setups, true millisecond pulsars (periods $< 10\text{ ms}$) are extremely faint and heavily distorted by interstellar dispersion. + +To detect any pulsar signal with an 8-bit, 2.4 MHz bandwidth RTL-SDR dongle, you must rely on **synchronous integration (epoch folding)** and **de-dispersion** to pull the signal out of the noise floor. + +--- + +## 1. Essential Hardware Requirements + +Because pulsar signals are weaker than the natural thermal noise of the universe, your RF front-end must maximize gain and minimize system noise: + +* **Antenna:** A high-gain dish (minimum 2.5–3 meters in diameter) or a phased array of long Yagi antennas tuned to **420–440 MHz (70cm band)** or **1420 MHz (21cm band)**. +* **Low Noise Amplifier (LNA):** Placed directly at the antenna feed point, featuring a low noise figure ($< 0.5\text{ dB}$) and high gain ($> 20\text{ dB}$). +* **Bandpass Filter (BPF):** Essential in front of the SDR to block out strong out-of-band terrestrial Radio Frequency Interference (RFI). +* **High-Stability Receiver:** An RTL-SDR with a **TCXO ($\le 1\text{ ppm}$)** or modified for an external **GPSDO (GPS-Disciplined Oscillator)**. Frequency drift over hours of recording will smear the pulse period and destroy your integrated signal. + +--- + +## 2. The Signal Processing Pipeline + +Pulsar radiation arrives as broadband noise pulses. The signal processing flow requires four major steps: + +``` +[ Ant / LNA / BPF ] ──> [ Raw IQ Capture ] ──> [ Filterbank Generation ] ──> [ Incoherent De-Dispersion ] ──> [ Epoch Folding ] + +``` + +### Step A: Raw IQ Capture + +Record uncompressed 8-bit complex IQ data at the maximum stable sampling rate (typically $2.4\text{ MS/s}$) at your target frequency. A single observation session usually requires $1\text{ to }4\text{ hours}$ of continuous data. + +```bash +# Example recording 2 hours of raw IQ at 423 MHz with rtl_sdr +rtl_sdr -f 423000000 -s 2400000 -g 40 -n 17280000000 raw_pulsar_data.bin + +``` + +### Step B: Filterbank Generation + +Convert the continuous IQ time series into time-frequency channel data (a filterbank file). The 2.4 MHz RF spectrum is split into multiple narrower frequency channels (e.g., 64 to 256 channels) using an FFT. + +### Step C: Incoherent De-Dispersion + +As the pulsar signal travels through free electrons in the interstellar medium (ISM), lower radio frequencies arrive slightly later than higher radio frequencies. This delay is quantified by the pulsar's **Dispersion Measure (DM)**: + +$$\Delta t \approx 4.15 \times 10^3 \times \text{DM} \times \left( \frac{1}{f_{\text{low}}^2} - \frac{1}{f_{\text{high}}^2} \right) \text{ seconds}$$ + +To de-disperse: + +1. Look up the candidate pulsar's DM from the **ATNF Pulsar Catalogue** (e.g., PSR B0329+54 has a $\text{DM} \approx 26.76\text{ pc cm}^{-3}$). +2. Calculate the channel arrival delays and shift the filterbank time channels backward in time so all frequencies align. + +### Step D: Epoch Folding (Synchronous Averaging) + +Because single pulses are far below the receiver noise floor, you must fold the continuous data stream on top of itself at the exact rotational period ($P_0$) of the pulsar: + +1. Calculate the apparent period ($P_0$) at your exact observation time using **TEMPO2** (accounting for Earth's Doppler shift relative to the solar system barycenter). +2. Divide the time series into segments equal to $P_0$. +3. Sum (average) thousands of rotational periods into a single phase profile of 100 to 1000 phase bins. +4. The random thermal noise integrates down by $\sqrt{N}$ (where $N$ is the number of pulses folded), causing the sharp pulse profile to emerge. + +--- + +## 3. Recommended Software Tools + +Rather than building every step from scratch, radio astronomers use established open-source tools: + +* **PRESTO:** The industry-standard suite for pulsar search and timing. Use `prepdata` for de-dispersion and `prepfold` for epoch folding. +* **SIGPROC:** Used to convert raw IQ data into `.fil` filterbank files. +* **DSPSR:** High-performance digital signal processing software for pulsar astronomy (supports fold, filterbank, and de-dispersion functions). +* **GNU Radio:** Useful for custom receiver blocks and streaming data directly to filterbank files. + +--- + +## 4. Tips for Success + +1. **Start with a "Standard" Pulsar First:** Before attempting a millisecond pulsar, test your hardware pipeline on **PSR B0329+54** or **PSR B0833-45 (Vela)**. If you cannot resolve B0329+54, the aperture or noise figure is insufficient for an MSP. +2. **Verify Timing Precision:** Millisecond pulsars require sub-microsecond timing accuracy. Ensure your system clock is locked via NTP/GPS and your RTL-SDR sample clock is backed by a TCXO or GPSDO. +3. **Clean RFI:** Ensure your local environment is clear of switching power supplies, solar inverters, and USB 3.0 radiation. \ No newline at end of file diff --git a/Todo-Upgrades (# Edit conflict 2026-07-24 5peuyaC #).md b/Todo-Upgrades (# Edit conflict 2026-07-24 5peuyaC #).md new file mode 100644 index 0000000..132d11a --- /dev/null +++ b/Todo-Upgrades (# Edit conflict 2026-07-24 5peuyaC #).md @@ -0,0 +1,63 @@ + +## for sure upgrades: +1. Upgrade to Pi5 8GB + 1. +2. 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](https://gnss.store/products/elt0184)* 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](https://gnss.store/products/elt0140) + 2. (need) [gps antenna adaptor](https://gnss.store/products/elt0179) + 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 +3. 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 +4. HIGH PRECISION REFERENCE OSCILLATOR SHIT ([gps disciplined 10mhz rubidium reference oscillator](https://www.aliexpress.us/item/3256811412964525.html)) + 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 +5. 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 +6. 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 420–440 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 \ No newline at end of file diff --git a/Todo-Upgrades.md b/Todo-Upgrades.md new file mode 100644 index 0000000..7cf8d5a --- /dev/null +++ b/Todo-Upgrades.md @@ -0,0 +1,126 @@ + +## 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 + +```bash +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 + +```bash +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](https://gnss.store/products/elt0184)* 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](https://gnss.store/products/elt0140) + 2. (need) [gps antenna adaptor](https://gnss.store/products/elt0179) + 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](https://www.aliexpress.us/item/3256811412964525.html)) + 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 420–440 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 \ No newline at end of file