You’re not going to believe this. It is so easy to extract a frame sync (FR) signal from an SSD1306 that I am almost embarrassed to show you how.
Anyone can do this with a little bit of electronics know-how.
Basically, the frame sync signal transitions low to high at the end of the SSD1306’s buffer write to screen.
So without hacking at the SSD3106 hardware, all we have to do to pinpoint this particular point in time, is to use a phototransistor to monitor the last few bunch of pixels written to screen. For those unfamiliar with the SSD1306 scanning format, each row of pixels is switched on briefly and then switched of again as the next row of pixels in turn gets switched on. This pixel switch on business happens at the frame rate frequency. So as long as we have at least one pixel active at the lower left of our image/images, we can extract our FR signal. One pixel only needed ! I shit you not. The phototransistor only needs to be close to the screen. It doesn’t even need to cover any pixels up either.
I’ve attached a pic of the SMD phototransistor and test pcb plus schematic and oscilloscope dual trace pic of FR pin and phototransistor signals.
So the parrot image on screen is using the same 3 multiplexed images as posted previously, but this time it’s getting its frame sync signal from the phototransistor circuit.
The preset pot in the schematic is there to set the trip level of the comparator. Needs to set fairly close to ground I found. A fixed resistor would be used in place of, once its resistance value was determined.