Part

OLED display, 1.3 inch SH1106

The 1.3 inch OLED. It looks like an SSD1306 and is not: 132 columns, page addressing only.

See every part
  • 4 pins
  • 1 setting
  • In 1 project
  • In 1 lesson
Drawn live by the editor's own code, at the size you see it.
At a glance

The OLED display, 1.3 inch SH1106 in brief

What it is, and every setting the properties panel gives it.

The 1.3 inch 128x64 OLED looks like a bigger SSD1306 and has the same four pins, GND, VCC, SCL and SDA, at the same 0x3C address, but its controller is an SH1106, and that difference is the whole story of this part. It runs from 3.3 or 5 volts with pull-ups on the module, wired to A4 and A5 on an Uno or GPIO 21 and 22 on an ESP32. The SH1106 has 132 columns of RAM for 128 of glass, bonded from column 2, so a driver has to start every page there; it has page addressing only, with no horizontal mode or column window; and its DC-DC converter starts on, with no 0x8D charge pump command. Mokxi models all three, so an SSD1306 sketch on it shows a picture two pixels out of place with a stripe of noise down one side, or every pixel piled into the top eight rows. Mokxi’s Adafruit_SH110X header drives it properly through Adafruit_SH1106G. U8g2’s SH1106 constructors are not included, and contrast reaches the picture as sixteen steps.

Family
Displays
Pins
4
address
60
the I2C address, 0x3C by default.
Pins

4 pins

Named as the editor names them, so a wire lands where you expect it.

Pin
What it does
GND
Ground.
VCC
Supply, 3.3 V or 5 V.
SCL
Open-drain clock; the module has its own pull-up.
SDA
Open-drain data; the module has its own pull-up.
How to use it

How to use a 1.3 inch SH1106 OLED with an Arduino

On its own, wire it like any I2C OLED: SDA to A4, SCL to A5, VCC to 5 V and GND to GND, at address 0x3C. Use Adafruit_SH1106G rather than Adafruit_SSD1306: call begin(0x3C, true), draw with the usual GFX calls, and send the frame with display(). The SSD1306 library gives a shifted, half-missing picture.

The project beside this puts it on A3 and A2 instead, on a bus of its own, because the 128x32 SSD1306 next to it also answers at 0x3C. Its hand-written driver starts every page at column 2, which is the one thing an SH1106 driver has to get right.

Part pin
Board pin
SDA
A2
SCL
A3
VCC
5 V
GND
GND
Arduino Uno: three small screenslive0.000 s 0.00x
Click to open it in the editor
This is the simulator itself, running here. Click anything to open it in the editor.
How it is modeled

What is true about the OLED display, 1.3 inch SH1106, here

In its help article’s own words: what the simulation gets right, and where it stops.

Not modeled

The same as the SSD1306: no clock stretching, no read transfers, no bus errors, and the multiplex, offset, clock, pre-charge, COM pin and VCOM commands are taken and change nothing. The read-modify-write mode (0xE0, 0xEE) is accepted and does nothing, since nothing reads the RAM back. Contrast reaches the picture as sixteen steps.

From SH1106 1.3 inch OLED, in full.

Projects

See the OLED display, 1.3 inch SH1106 in a project

One built-in project uses it. It opens in the editor, already wired.

Lessons

Where it turns up in a lesson

One lesson places it in its own circuit.

Boards

The boards it is shown on

This board has a built-in project with the OLED display, 1.3 inch SH1106 in it.

Libraries

Arduino libraries for the OLED display, 1.3 inch SH1106

Built in, so the sketch compiles with nothing to install. Each page has the calls, the wiring and an example to run.

Wire up the OLED display, 1.3 inch SH1106

Open the editor and push it into the breadboard. It is free, and it runs on your own machine.