OLED Animation Maker OLED Maker

SH1106 vs SSD1306: Which OLED for Animations?

Side-by-side technical drawing of two 0.96 inch OLED displays comparing the SSD1306 and SH1106 display driver controllers

Many 128×64 OLED modules look identical but use different controllers. Picking the wrong one in software causes shifted graphics. For Arduino OLED animations, know whether you have SSD1306 or SH1106 before exporting code.

Quick comparison

  • SSD1306 — most common on Adafruit-style and 0.96" blue modules; direct 128-column mapping
  • SH1106 — common on cheaper clones; 132 columns internally, visible area offset by 2 pixels
  • Both use I²C, often address 0x3C, same 128×64 visible resolution

The SH1106 offset problem

Technical comparative chart showing SSD1306 correct centering versus SH1106 2-pixel column alignment shift

If you use SSD1306 code on an SH1106 display, your animation appears shifted horizontally — cut off on one side. Fix: select SH1106 in your tool or add a 2-pixel X offset in drawBitmap().

OLED Display Animation Maker applies the correct offset when you choose SH1106 before export.

Which should you buy?

SSD1306 if you follow Adafruit tutorials and want maximum library examples. SH1106 is fine if you already own modules — just export SH1106-targeted code. Animation quality and FPS are the same; only initialization and coordinates differ.

Animations on both

Frame data (PROGMEM bitmaps) is identical. Only the display driver and X position change. You can design once and switch display type in the header dropdown before Get the Code.

Export for SSD1306 or SH1106

Free tool — correct offsets, templates, GIF import.

Open OLED Animation Maker →

Popular searches: sh1106 vs ssd1306 · sh1106 oled animation · sh1106 arduino tutorial · 0.96 oled controller · ssd1306 128x64

Related