SKU 01110 · ESP32-S3 · 1.3 inch IIC OLED

01110 ESP32-S3 + 1.3寸 IIC OLED 显示屏资料

整理 SKU 01110 ESP32-S3 核心板 / GPIO 扩展板接 1.3 寸 IIC OLED 显示屏的接线、Arduino IDE 设置、I2C 扫描、SH1106 / SSD1306 驱动选择和黑屏排查。1.3 寸屏幕不要直接写死 SSD1306,很多批次实际是 SH1106。

Quick Facts

  • 主控:SKU 01110 ESP32-S3
  • 扩展:ESP32-S3 GPIO 扩展板
  • 屏幕:1.3 寸 IIC OLED,屏幕 SKU 待补充
  • I2C 地址:每个屏幕/传感器可能不同,以 I2C Scanner 扫描结果为准
  • 推荐引脚:SDA=IO8,SCL=IO9
  • 供电:优先 3.3V,按屏幕模块说明确认
SKU 01110 ESP32-S3 核心板 / GPIO 扩展板 + 1.3寸 IIC OLED屏幕 SKU / 淘宝链接:待补充,按具体 1.3 寸屏幕商品确认。
查看 01110 ESP32-S3 资料

Key Point

先分清屏幕驱动芯片

客户说“1.3 寸 IIC 屏不亮”,常见原因不是接线坏,而是驱动型号选错。1.3 寸 128x64 IIC OLED 很多使用 SH1106;0.96 寸 OLED 更常见 SSD1306。实物测试图只是展示 I2C Tester 能读到设备地址;不同传感器、不同屏幕、不同批次读出来的 IIC 地址可能不一样,必须以 I2C Scanner 实际扫描结果为准。

扫描不到地址

先查 VCC、GND、SDA、SCL、供电电压、杜邦线和 I2C 引脚定义。

扫到地址但黑屏

每个 IIC 设备地址可能不同,OLED 常见可能是 0x3C/0x3D,其他传感器可能是别的地址。扫到地址后仍黑屏,重点换 SH1106 / SSD1306 驱动类,确认分辨率 128x64。

ESP32-S3 引脚

Arduino-ESP32 支持指定 I2C 引脚,示例统一用 Wire.begin(8, 9)。

Real Test

实物测试图:01110 扩展板 + IIC 测试屏

下面为本地实物测试记录。屏幕显示 SENSOR OK,说明当前接线下 IIC 总线和被测模块通信正常。图片里的地址只是本次被测模块的扫描结果,不同传感器/屏幕可能不一样,客户测试时按实际扫描结果修改程序地址。

ESP32-S3 扩展板接 1.3寸 IIC OLED 与传感器完整测试图
完整测试接线:ESP32-S3 扩展板、IIC 测试屏和外接 I2C 模块一起工作。
1.3寸 IIC OLED 显示 I2C Tester 扫描地址
屏幕实测显示:SENSOR OK,ADDR 为当前被测 IIC 设备地址,按实际扫描结果为准。
I2C 模块接线近景
I2C 模块近景:接线时重点确认 VCC、GND、SCL、SDA 不要接反。
ESP32-S3 GPIO 扩展板接线近景
ESP32-S3 GPIO 扩展板近景:按扩展板丝印选择 3V3/GND 和对应 SDA/SCL 引脚。

Real Product

实物参考:ESP32-S3 GPIO 扩展板与 1.3寸 IIC 屏

这两张为本店实物参考图。扩展板用于把 ESP32-S3 的 GPIO、电源和 GND 引出,接 IIC 屏时只需要 VCC、GND、SDA、SCL 四根线。

ESP32-S3 GPIO 扩展板实物图
ESP32-S3 GPIO 扩展板:方便把 3V3、GND、SDA、SCL 等引脚接到外设。
1.3寸 IIC OLED 显示屏实物图
1.3 寸 IIC OLED 屏:常见 4 线接口 VCC、GND、SCL、SDA,具体丝印以实物为准。

Wiring

01110 ESP32-S3 / GPIO 扩展板接 1.3寸 IIC OLED

ESP32-S3 是 3.3V 逻辑,屏幕模块优先接 3.3V。若使用 GPIO 扩展板,按扩展板丝印找到 3V3、GND、SDA、SCL;若屏幕标称可接 5V,也要确认 SDA/SCL 是否会被上拉到 5V。

ESP32-S3 接 1.3寸 IIC OLED 接线图
01110 / 扩展板1.3寸 IIC OLED说明
3V3VCC / VDD推荐 3.3V 供电,最终看屏幕模块说明。
GNDGND必须共地。
IO8 / SDASDAI2C 数据线,代码里写 Wire.begin(8, 9)。
IO9 / SCLSCLI2C 时钟线。

Arduino IDE

测试顺序:先扫地址,再跑显示代码

不要一开始就烧复杂图形程序。先确认串口监视器能看到 I2C 地址,再根据屏幕驱动选择 SH1106 或 SSD1306 示例。

#include <Wire.h>

#define SDA_PIN 8
#define SCL_PIN 9

void setup() {
  Serial.begin(115200);
  delay(1000);
  Wire.begin(SDA_PIN, SCL_PIN);
  Wire.setClock(100000);

  Serial.println("ESP32-S3 I2C scanner");
  byte count = 0;
  for (byte address = 1; address < 127; address++) {
    Wire.beginTransmission(address);
    byte error = Wire.endTransmission();
    if (error == 0) {
      Serial.print("I2C device found at 0x");
      if (address < 16) Serial.print("0");
      Serial.println(address, HEX);
      count++;
    }
  }
  if (count == 0) Serial.println("No I2C devices found");
}

void loop() {}
// Arduino IDE 库管理器安装:U8g2
// 1.3 寸 IIC OLED 常见 SH1106,优先测试这个

#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h>

#define SDA_PIN 8
#define SCL_PIN 9

U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(
  U8G2_R0,
  U8X8_PIN_NONE
);

void setup() {
  Wire.begin(SDA_PIN, SCL_PIN);
  u8g2.begin();
  u8g2.setContrast(180);
}

void loop() {
  u8g2.clearBuffer();
  u8g2.setFont(u8g2_font_6x12_tf);
  u8g2.drawStr(0, 14, "ESP32-S3 OLED");
  u8g2.drawStr(0, 32, "I2C: SDA=8 SCL=9");
  u8g2.drawStr(0, 50, "Driver: SH1106");
  u8g2.sendBuffer();
  delay(1000);
}
// Arduino IDE 库管理器安装:Adafruit SSD1306 和 Adafruit GFX
// 如果 SH1106 示例不正常,再测试 SSD1306

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SDA_PIN 8
#define SCL_PIN 9
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  Serial.begin(115200);
  Wire.begin(SDA_PIN, SCL_PIN);

  // OLED 常见地址可能是 0x3C 或 0x3D;请先用 I2C Scanner 确认
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println("SSD1306 init failed. Try SH1106 or check address.");
    while (true) delay(100);
  }

  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println("ESP32-S3 OLED");
  display.println("SDA=8 SCL=9");
  display.println("Driver: SSD1306");
  display.display();
}

void loop() {}

下载 I2C Scanner .ino

Troubleshooting

常见问题排查

I2C 扫描不到地址

检查 VCC/GND 是否接稳,SDA/SCL 是否接反,代码里的 Wire.begin(8, 9) 是否和实际接线一致。先把 I2C 频率降到 100kHz,杜邦线不要太长。

能扫到地址,但屏幕黑屏

地址以实际扫描结果为准。OLED 常见可能是 0x3C/0x3D,其他传感器可能完全不同。1.3 寸屏幕常见 SH1106,若使用 SSD1306 库可能扫得到地址但不显示或显示错位。先跑 U8g2 的 SH1106 示例。

显示偏移、花屏、只亮一部分

常见是驱动类、分辨率或屏幕控制芯片不匹配。确认是 128x64 还是其他分辨率,再换 U8g2 对应构造函数。

ESP32-S3 上传失败

Arduino IDE 里选择 ESP32S3 Dev Module 或对应开发板,确认端口;必要时按住 BOOT 再点上传。上传问题和 OLED 本身无关。

可以接 5V 吗?

ESP32-S3 IO 是 3.3V 逻辑。屏幕模块如果只接电源 5V,但 SDA/SCL 被上拉到 5V,就不适合直接接 ESP32-S3。客户不确定时,建议统一 3.3V 测试。

Support

需要技术支持时,把这几项一起发来

复制下面这段填一下发给客服,我们一次就能定位,不用来回问。

【01110 ESP32-S3 + 1.3寸 IIC OLED 显示屏资料 技术支持】
主控型号:            (如 Arduino UNO / ESP32 / STM32)
供电接的是:          □ 3.3V   □ 5V
I2C Scanner 扫到的地址:
串口显示的内容:
用的是哪份代码:      □ 本页示例   □ 其他(请说明)
接线照片:            (请附一张能看清接线的照片)

References

官方与公开资料

以下链接用于确认 ESP32-S3 I2C 引脚可指定、SSD1306 库安装方式,以及 1.3 寸 OLED 常见 SH1106 场景。屏幕最终型号仍以实物丝印和商品规格为准。

Espressif

Arduino-ESP32 I2C API

说明 ESP32 Arduino Wire I2C API,可设置 SDA/SCL 引脚。

打开资料

Adafruit

Adafruit SSD1306 Library

SSD1306 单色 OLED Arduino 库,适合 SSD1306 屏幕测试。

打开 GitHub

Adafruit

OLED Arduino Library Guide

说明 Adafruit SSD1306 和 Adafruit GFX 库的安装方式。

打开教程

U8g2

U8g2 Library

适合 SH1106、SSD1306 等多种单色 OLED 控制器,建议排查 1.3 寸屏幕时优先使用。

打开 GitHub