SH1107 OLED 128×128

A 1.5-inch square monochrome OLED module built on the SH1107 controller, driving a self-lit 128x128 pixel grid over I2C.

SH1107 OLED 128×128: Square monochrome OLED

What is the SH1107 OLED 128×128?

The SH1107 OLED is a 1.5-inch square display module with a 128x128 monochrome pixel grid driven over I2C. Because each pixel is a self-emitting organic LED, the panel needs no backlight and produces bright, high-contrast text and graphics with deep blacks and wide viewing angles.

The board is built around the Sino Wealth SH1107, a single-chip CMOS driver that pairs 128 segment and 128 common outputs with 128x128 bits of embedded display RAM. The controller integrates an on-chip oscillator, an internal DC-DC converter for the OLED drive voltage, and 256-step contrast control, so the module works from a simple logic supply with very few external parts. Its sleep current drops below 5 microamps, which suits battery-powered projects.

Communication is I2C at the default address 0x3C, and the SH1107 uses page (vertical strip) addressing rather than the horizontal scheme of the SSD1306, so it needs a driver written for its command set. The bare controller runs on 1.65-3.5V logic, but this module adds onboard regulation and I2C pull-ups so it connects directly to 3.3V or 5V microcontrollers with just four wires.

SH1107 OLED 128×128 pinout

PinFunctionType
SDA SDAI²C SDABidirectional (GPIO)
SCL SCLI²C SCLBidirectional (GPIO)
GND GNDPowerPower in
VCC VCC (3.3-5V)PowerPower in

Specifications

Operating voltage
3.3 V (max 5 V)
Interface
I²C
I²C address
0x3C
I²C pull-ups
On-board (no external resistors)
Dimensions
34.3 × 45.5 × 4.1 mm

Verified from the Tinkered component library · Generic 1.5" SH1107 module.

Circuit requirements

  • Four-wire I2C hookup: VCC, GND, SDA, and SCL. VCC accepts 3.3-5V thanks to the module's onboard regulator, so it runs directly from a 3.3V or 5V board.
  • Default I2C address is 0x3C (SA0 tied low). Some boards expose a jumper to switch to 0x3D, so run an I2C scan if the display does not respond.
  • The module already carries SDA and SCL pull-up resistors, so no external pull-ups are needed on a short bus.
  • The SH1107 is not register-compatible with the SSD1306. Use an SH1107 driver (for example Adafruit_SH110X, U8g2's SH1107 constructor, or luma.oled) configured for 128x128 geometry.
  • There is no backlight or reset pin on this 4-pin I2C module; brightness is set in software through the controller's 256-step contrast command.

Board compatibility

The SH1107 OLED 128×128 connects to any of the microcontrollers supported in Tinkered. Mind the 3.3 V logic level on 3.3 V boards.

Common SH1107 OLED 128×128 mistakes

Loading an SSD1306 driver

The SH1107 has a different boot sequence and command set from the SSD1306. Pointing a generic SSD1306 library at this panel yields a blank, scrambled, or offset image. Select an SH1107-specific driver instead.

Configuring the display as 128x64

Many OLED examples default to 128x64. On this 128x128 panel that leaves half the screen dark or shifts the image by a column offset. Set the driver geometry to 128x128.

Assuming the wrong I2C address

The module usually answers at 0x3C, but boards that pull SA0 high (or jumper it) use 0x3D. If nothing appears, scan the bus and match the address in your init call.

Rotated or mirrored output

SH1107 page addressing runs in vertical strips, so text can appear rotated 90 degrees or mirrored depending on how the glass is mounted. Use the driver's rotation or segment and common remap flags to orient it correctly.

Stacking extra pull-ups on the bus

Adding low-value external pull-ups on top of the module's onboard resistors over-stiffens the I2C bus and can distort signal levels. Rely on the built-in pull-ups for a normal short connection.

SH1107 OLED 128×128 datasheet

Official SH1107 OLED 128×128 datasheetGeneric 1.5" SH1107 module

Popular SH1107 OLED 128×128 projects

Wearable status screen

Its square 128x128 face and sub-5-microamp sleep current make it a good fit for a wrist or badge display showing time, steps, or notifications.

Portable sensor dashboard

Pair it with temperature, humidity, or air-quality sensors to show live readings and small trend graphs on a battery-powered build.

Retro pixel-art and game UI

The high-contrast monochrome grid is popular for dithered artwork, sprite animation, and simple handheld game menus.

Device menu and settings display

The full 128x128 area gives room for multi-line menus, icons, and scrolling lists to drive a knob or button interface.

Clock and weather widget

A compact desk gadget that pulls time and forecast data, then renders large digits and weather icons on the crisp OLED.

Build with the SH1107 OLED 128×128.

Drop the SH1107 OLED 128×128 into a circuit, write firmware, and simulate it in your browser, then deploy to real hardware. All in one editable Tinkered project.