SSD1306 OLED Display
Monochrome OLED display controller
Note
The
I2Caddress is0x3C
The SSD1306 is a popular monochrome OLED display controller commonly used with small displays such as 128×64 pixels.
It is widely adopted in embedded systems due to its sharp contrast, low power consumption, and flexible communication interfaces.
Datasheet
Section titled “Datasheet”The SSD1306 datasheet provides detailed information about:
- Electrical characteristics
- Command set
- Display memory mapping
- Initialization sequences
- Timing diagrams
Most OLED modules built around the SSD1306 strictly follow this specification, regardless of vendor.
Initialization
Section titled “Initialization”On a typical SSD1306, an initialization sequence is required because the internal registers may contain undefined values after power-up.
In the simulated version, the device starts from the reset-circuit default state as defined in the datasheet. This means it begins in Horizontal Addressing Mode, with the contrast set to 0x7F. All address pointers are reset to 0, and the display is not in sleep mode.
Communication Interfaces
Section titled “Communication Interfaces”The SSD1306 supports i2c, configured via hardware pins:
- Uses
SDAandSCL - Device address is
0x3C - Simplest wiring, slower than SPI
Display Memory Layout
Section titled “Display Memory Layout”The SSD1306 uses GDDRAM (Graphic Display Data RAM):
- Memory is organized into pages
- Each page is 8 pixels tall
- One byte controls a vertical column of 8 pixels
- 8 pages × 128 columns
- Total memory: 1024 bytes