SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By fll-freak
#189314
I am also experiencing rearing and other artifacts when printing. I THINK it has to do with writing to the OLED memory at the time the OLED is using it to update the screen. I am trying to figure out a way to update memory during 'blanking' times. Have you made any headway on the problem? Are you using the I2C or SPI interface?

A bit more research leads me to section 8.4 of the SSD1306 datasheet. To prevent 'tearing' you need to write the data to memory after the falling edge of the 'FR' (frame rate) pulse and before the rising edge of the 3rd pulse. Since the FR pin does not come off the flex from the OLED display it would seem impossible to sync writing to the frame rate.

Bummer. I am using this display to merge data into a video camera using a beam splitter. I all works fairly well other than the 'shimmy' in the text and occasional tearing. It will be good enough for me, but not something I would ever want in a product. I better display module that exposes the FR pin would be in order.

Edit: Further information after some significant Googling. This website (http://community.arduboy.com/t/unsolvab ... ing/140/12) uses a very similar OLED display and they have the same problem. Since the #$#@ FR pin (frame rate) is not available on the flex to the SparkFun breakout board, it would be impossible for them to make it available as would be needed to do a proper job. There is no solution to the problem. Without access to FR, you will always run the risk of tearing.

Edit 2: Breadcrumbs for future Googlers: OLED MicroView SSD1306 FR vsync tearing display corruption problem