← Wiki · Component

OLED display (SSD1306, I²C)

The common 0.91" (128×32) or 0.96" (128×64) monochrome OLED module with an SSD1306 controller, on four pins: GND, VCC, SCL, SDA.

What it does#

The display module carries the OLED panel, the SSD1306 controller and its charge pump. You talk to it over I²C at address 0x3C (some 0x3D), with libraries such as U8g2, Adafruit SSD1306 or QMK’s OLED driver. It is placed in PCB Canvas as a 4-pin socket or header that the module plugs or solders into.

Example circuit: The usual pin order GND, VCC, SCL, SDA, with I²C pull-ups and 100 nF on 3V3.
The usual pin order GND, VCC, SCL, SDA, with I²C pull-ups and 100 nF on 3V3. Open the oled_i2c example from this page in PCB Canvas: “Insert into my schematic”.

Pitfalls#

  • Pin order varies. Many modules are GND-VCC-SCL-SDA, others VCC-GND-SCL-SDA. Swapped power kills the module; check yours.
  • Pull-ups: most modules have them on board. Extra ones on your board are fine as long as the total stays above ~2 kΩ.
  • Height: a socket plus module is ~12 mm tall; solder it on a header for a slim keyboard.
  • SH1106 modules (1.3") look the same but need a different driver.

Footprint#

1×4 2.54 mm socket (plug-in) or header (soldered).