Documentation
Onboarding
Getting Started
Power & Battery
Hardware & Components
Build & Assembly
Radio & RF Design
Frequencies & Regulations
Firmware & Software
USB & Connectivity
GPS & Navigation
Morse & Communication
Modes & Operation
Field Operations & Rescue
Building Effectively
Build Variants
Project & Reference
Docs Hardware & Components OLED Panel Guide

OLED Panel Guide

Edit on GitHub

SSD1309 vs SSD1306, I2C vs SPI breakouts, buying the right 7-pin panel and avoiding burn-in

OLED Panel Guide

Overview

The display is a common source of build confusion because the market sells two different controllers (SSD1306 and SSD1309) on two different interfaces (I2C and SPI). This build needs the SSD1309 7-pin SPI panel.

SSD1306 vs SSD1309

AspectSSD1306SSD1309
Common size0.96 inch2.42 inch
Interface optionsI2C + SPISPI
Driver in firmwareNot used (v4.0 legacy)U8g2 native
This buildNoYes

4-Pin vs 7-Pin

BreakoutPinsInterface
4-pinVCC GND SCL SDAI2C only
7-pinGND VCC SCK SDA RES DC CSSPI

Warning

The 4-pin I2C SSD1309 breakout looks similar and shares the driver chip but cannot be used with this firmware, which drives the panel over software SPI. Check the pin count before buying.

Pin Connection (7-Pin SPI)

OLED pinESP32 GPIO
GNDGND
VCC3V3 (never 5 V)
SCK (D0)GPIO 15
SDA (D1)GPIO 13
RESGPIO 4
DCGPIO 16
CSGPIO 17

Preventing Burn-In

OLED pixels degrade with use:

  1. Use the 120 ms refresh normally; no full-screen static content persists.
  2. Prefer the sleep command before deep sleep (firmware does this automatically).
  3. Avoid leaving the same CONFIG screen on for hours on the bench.