Electronic – Which interface is better for the OLED display

i2cinterfaceoledparallelspi

I have a 0.96 inch 128×64 Yellow-Blue OLED display module like this: OLED module and I want to use it for a project. The Driver of it is SSD1306. if you see in the datasheet of SSD1306, you will know that it supports 8-bit 68xx/80xx parallel and 3-/4- wire SPI and I2C interfaces. Now, I have several questions:

  1. If you were me, Which one would you choose to connect it to MCU?(8-bit 68xx? 80xx parallel? 3-/4- wire SPI? and or I2C?) and why?
  2. Which one is better for simpler?
  3. I think parallel interfaces are faster(right?) but I can't find anything about 8-bit 68xx and 80xx!(article or web-page or etc. If you have any information about these please let me know). Also, I could find this:What are 6800-series / 8080-series parallel interface? and Is there any 8080 Series Parallel Interface standard? but, these are not enough. What's the diffrence between the 8-bit 68xx and 80xx? Which one is faster? Totally, In your opinion which one is better?

B.T.W: My MCU is STM32F1(it supports all interfaces even 80xx and 68xx parallel) and all AVR series.

Best Answer

They are all comparable, with the tradeoffs being Pins vs Speed. It really boils down to your preference. How many free pins do you have (Can you spare 8 data + 4/5 control pins for parallel data?), are you already using SPI or I2C? The I2C version will limit you to only 2 lcds without using multiple I2C buses or buffers/switches, but only requires 3 data lines (SDA/SCL/Reset) and simplifies the command/data code by including it into a byte instead of requiring external pin toggling.

If you were me, I'd use i2c, but mostly because I prefer it. If you are already using SPI, that be the way to go.

As for 6800 vs 8080 lcd addressing, they are pretty similar, and have no performance difference. The 6800 interface is a bit easier to implement, and for the most part, is exactly the same as the common HD44780 character lcd interface.