Made an initial attempt on the evening of 2023-03-26 on a Pi 2 B. Drop in replacement is working surprisingly well right off. Have not performed any longitudinal testing yet, but initial tracking numbers are positive.
PP3 GND PP4 GND PP5 GND PP6 GND PP7 5V after polyfuse PP8 3V3 PP9 1V8
Marked AEL19.2
As far as I can tell, the Pi 2B through 3B+ all use this part, as well as a number of the A models. The Pi 4B uses two AEL crystals, one at 25MHz, the other at 54MHz. I have not yet experimented with replacing these parts.
There are a number of different methods for quantifying the results of this sort of modification. A few that I am exploring will be detailed below.
(Graphs coming eventually)
#!/usr/bin/python import RPi.GPIO as GPIO from time import sleep GPIO.setmode(GPIO.BCM) GPIO.setup(10,GPIO.OUT) p=GPIO.PWM(10,1140) p.start(20) sleep(3600) p.stop() GPIO.cleanup() exit()
The WiringPi toolset has a function to use the SoC's PLLs to generate a precise clock using the GPIO_CLOCK function. This can be initiated easily from the linux userspace by first setting the pin mode, then the output frequency. Only WiringPi Pin 7 (GPIO 4) supports this mode.
gpio mode 7 clock gpio clock 7 1000000 # frequency in Hz