OLED (SPI)

A small monochrome (or colour, with SH1106/SSD1331 controllers) OLED module driven over SPI instead of I²C. The panel and pixel array are usually identical to the I²C variant; the difference is that a 4-wire SPI bus (MOSI, SCK, CS, DC) can shovel pixel data at >10 MHz.

Same SSD1306-class controller and same OLED panel. The MCU clocks pixel bytes over MOSI on each SCK edge while CS holds the controller selected and DC distinguishes command bytes from data bytes. Because SPI is a clocked synchronous link with no device addressing overhead, frame rates of 60–80 Hz are easy even on an Arduino Uno.

In plain terms

Take the I²C OLED, swap in a parallel-clock-and-data link, and you can blit full screens at video frame rates.

Why designers use it

Best for

Key specifications

When not to use it

Common mistakes

Where you will find it

A short history

Solomon Systech and Sino Wealth released SPI variants of their OLED controllers (SSD1306, SSD1309, SH1106, SSD1331) alongside the I²C versions throughout 2010–2014, mostly to support cell-phone sub-displays where the host SoC already had spare SPI peripherals. As makers discovered that the same panels could be driven 10× faster than over I²C, SPI OLEDs became the go-to choice for any animation-heavy hobby project.

Good to know

Related