Overview

The SH1106 is a single-chip CMOS OLED/PLED driver manufactured by Sino Wealth Microelectronic. It is designed for driving 132x64 dot-matrix organic LED displays and is standard on larger 1.3-inch 128x64 monochrome OLED display modules.

While visually similar to 0.96-inch OLED displays driven by the SSD1306, the SH1106 chip contains an internal 132x64 GRAM frame buffer (4 columns wider than 128 pixels). Consequently, software drivers must shift display columns by 2 pixels (Column=Column+2Column = Column + 2) to center a 128x64 image frame on screen.

Quick reference

Module VCC3.3 V to 5.0 V DC (onboard LDO + charge pump)
Chip VDD1.65 V to 3.5 V DC
Display Resolution128 x 64 pixels (driven from 132 x 64 internal RAM)
Diagonal Screen SizeTypically 1.3 inches
Communication interfacesI2C (address 0x3C or 0x3D, up to 400 kHz), 4-wire SPI
Page AddressingPage addressing mode (8 pages of 132 x 8 bits)
Contrast Control256-level brightness contrast steps

Pinout

Standard 4-Pin I2C 1.3-inch OLED Module Header

PinNameTypeDescription
1GNDPowerGround (0 V)
2VCCPowerSupply voltage (+3.3 V to +5.0 V DC)
3SCLDigital InputI2C Serial Clock line
4SDADigital I/OI2C Serial Data line

7-Pin SPI 1.3-inch OLED Module Header

PinNameTypeDescription
1GNDPowerGround (0 V)
2VCCPowerSupply voltage (+3.3 V to +5.0 V DC)
3D0 / SCLKDigital InputSPI Clock input line
4D1 / MOSIDigital InputSPI Master Output Data line
5RES / RSTDigital InputHardware Reset line (Active-LOW)
6DC / A0Digital InputData / Command control pin (LOW = Command, HIGH = Data)
7CSDigital InputSPI Chip Select (Active-LOW)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Supply Voltage (Module)VCCV_{CC}3.35.05.5VDC
Logic Voltage HighVIHV_{IH}0.8VDD0.8 V_{DD}VDDV_{DD}VSCL, SDA
Logic Voltage LowVILV_{IL}00.2VDD0.2 V_{DD}VSCL, SDA
Operating Supply CurrentICCI_{CC}1525mA100% pixels ON
Sleep CurrentISLEEPI_{SLEEP}510µADisplay OFF (0xAE)
GRAM SizeRAMRAM132×64132 \times 64bits8 Pages ×\times 132 Columns

SH1106 vs SSD1306 Differences

FeatureSSD1306 (0.96-inch typical)SH1106 (1.3-inch typical)
Internal RAM Size128×64128 \times 64 bits132×64132 \times 64 bits
Column OffsetDirect 0-to-127 column mappingRequires +2 column offset (Column+2Column + 2)
Addressing ModesPage, Horizontal, Vertical addressingPage Addressing Mode only
Charge Pump Command0x8D (Enable Charge Pump)0x8D / 0xAD (Built-in charge pump)
Warning

Column Shift Distortion in Software: If an SH1106 display is driven using standard SSD1306 software code, the image will appear shifted 2 pixels to the right with 2 pixels of static noise/garbled lines on the left edge. Always select SH1106 in display driver libraries (such as U8g2 or Adafruit_SH1106).

Wiring

SH1106 I2C Module PinMicrocontroller (Arduino Uno / ESP32)
GNDGND
VCC5V (or 3.3V)
SCLSCL (A5 on Uno, GPIO22 on ESP32)
SDASDA (A4 on Uno, GPIO21 on ESP32)

Common mistakes

  • Using SSD1306 display drivers: SSD1306 drivers lack page-by-page column offset handling (Column+2Column + 2), resulting in shifted/garbled images.
  • Attempting to use Horizontal / Vertical Addressing modes: The SH1106 only supports Page Addressing mode (0xB0 to 0xB7).
  • Forgetting I2C slave address: Most SH1106 1.3-inch displays default to address 0x3C, but some boards use 0x3D.

Notes

  • Low power consumption allows direct battery operation without backlight power penalty.

Assets & downloads