2026 Make Blocks #1阶段1 - 基于 SSD1306 的 0.96 寸 I2C OLED 显示驱动模块设计
该项目使用了KiCad软件、MicroPython语言,实现了基于SSD1306的0.96寸I2C OLED显示模块的设计,它的主要功能为:通过I2C接口驱动0.96寸OLED屏幕,支持3.3V/5V供电,可选择I2C地址(0x3C/0x3D),适用于嵌入式系统的信息显示。
标签
显示
hrf
更新2026-04-27
北京理工大学
252
KiCad文件
全屏

一、所选任务介绍

本项目针对 2026 Make Blocks 第二季设计挑战赛第一期"数字系统模块"主题中的任务4:I2C OLED 显示驱动模块开展设计。

任务要求如下:

  • 采用 SSD1306 驱动芯片的屏幕进行设计;
  • 分辨率 128 × 64 像素;
  • I2C 接口,可通过电阻选择地址 0x3C / 0x3D
  • 支持 3.3V / 5V 供电(板载 LDO 降压);
  • 预留 4 Pin I2C 接口(VCC、GND、SCL、SDA);

设计所用的主要器件需在 DigiKey 官网有货且正常售卖。

OLED(Organic Light-Emitting Diode)显示模块是嵌入式开发中最常用的人机界面元件之一。相较于传统段码 LCD,OLED 具有自发光、对比度高、视角宽、响应快、无需背光等优点,在可穿戴设备、仪表显示、DIY 项目中广泛使用。本模块可作为 MCU 开发的标准人机界面外设,方便地挂载到 STM32 / ESP32 / Arduino / 树莓派 等任意支持 I2C 的主控上。

二、设计方案介绍

本设计采用如下方案:

  1. 显示面板:选用市售标准 0.96 寸 128×64 OLED 裸屏(COG 封装的 SSD1306 已绑定于玻璃面板内),通过 30pin 0.5mm 间距 FPC 连接座引出信号;
  2. 驱动控制:SSD1306 以 COG 方式集成于面板,支持 I2C 接口,默认从地址 0x3C(SA0=0);
  3. 电源方案:输入 3.3V 或 5V 均可,板载 SC662K-3.3 LDO 将 5V 稳压到 3.3V 供 SSD1306 使用;若输入已为 3.3V,SC662K 压差极低(约 0.3V),输出约 3.0V 仍能正常工作;
  4. I2C 地址可选:SSD1306 的 SA0 引脚(D/C# 脚在 I2C 模式下复用为地址选择位)通过两个 0Ω 焊盘二选一接到 GND 或 VCC,从而在 0x3C / 0x3D(7 位地址,PCB 丝印标注为 8 位地址 0x78 / 0x7A)之间切换,方便一条 I2C 总线上挂两个 OLED;
  5. I2C 总线上拉:SDA、SCL 各通过 4.7kΩ 电阻上拉至 VCC;
  6. 接口:2.54mm 排针 1×4(SDA / SCL / VCC / GND),方便面包板或杜邦线连接。

板上资源框图:

三、设计的模块介绍

1. 主要芯片选择:

本模块的核心驱动芯片选用 SSD1306(Solomon Systech 出品),选择理由如下:

  • 高集成度:SSD1306 是一颗单片 CMOS OLED/PLED 驱动控制器,内部集成 128×64 位 GDDRAM 显存、对比度控制电路、DC-DC 升压电路(电荷泵)和振荡器,外围电路极少,非常适合小型模块化设计;
  • 多接口支持:支持 I2C、SPI、6800/8080 并口等多种通信方式,本模块选用 I2C 模式,仅需 SDA/SCL 两根信号线即可通信,最大限度减少引脚数量;
  • 低功耗:典型工作电流仅 10~20mA(取决于点亮像素数),休眠模式电流小于 10μA,适合电池供电的便携式应用;
  • 广泛生态:SSD1306 在开源社区拥有极为丰富的驱动库支持(如 Arduino U8g2、MicroPython SSD1306、Linux I2C-dev 等),几乎所有主流 MCU 平台均有成熟示例代码。

板载 LDO 稳压器选用 SC662K-3.3(Semtech 出品,SOT-23 封装),压差约 0.3V,输出 3.3V,支持 3.3V~6V 输入范围,为 SSD1306 和 OLED 面板提供稳定的工作电压。

2. 模块功能:

  • 通过 I2C 总线驱动 0.96 寸 128×64 像素单色 OLED 屏幕,实现文字、图形、图标等信息显示;
  • 板载 LDO 支持 3.3V 和 5V 双电压输入,兼容不同主控平台的供电电压;
  • I2C 地址可通过板载 0Ω 电阻选择(0x3C 或 0x3D),支持同一 I2C 总线上挂载两个 OLED 模块;
  • 板载 4.7kΩ I2C 上拉电阻,无需外部额外上拉,即插即用;
  • 标准 2.54mm 4Pin 排针接口(SDA/SCL/VCC/GND),兼容面包板和杜邦线连接。

3. 典型应用场景:

  • 嵌入式开发调试:作为 STM32 / ESP32 / Arduino / 树莓派等 MCU 的标准人机界面外设,实时显示传感器数据、系统状态、调试信息;
  • 可穿戴设备:低功耗 + 自发光特性使其非常适合手环、智能手表等穿戴场景;
  • 仪器仪表:用于电子秤、温湿度计、电压表等小型仪器的数值显示;
  • DIY / Maker 项目:天气站、桌面时钟、音量指示器、游戏机等创客项目;
  • 教学实验:I2C 通信协议教学、嵌入式图形显示编程入门等。

4.主要器件 DigiKey 链接:

5.管脚说明:

  • Pin1 - SDA,I2C 数据线
  • Pin2 - SCL,I2C 时钟线
  • Pin3 - VCC,3.3V~5V 电源输入
  • Pin4 - GND,地

6.供电兼容性说明:

输入电压

LDO 是否工作

SSD1306 供电

是否可用

5V

正常稳压到 3.3V

3.3V

✅ 推荐

3.3V

压差极小,近似直通

~3.0V

✅ 可用

四、原理图和 PCB 设计介绍

原理图

原理图主要包含四部分:

  1. 电源模块:P1 的 VCC_IN 输入 → SC662K-3.3(U1)输入端;输入并联 C3(1μF)+ C4(100nF)去耦;输出并联 C1(1μF)+ C2(100nF)滤波后作为 VCC 电源供给 SSD1306;
  2. I2C 接口模块:P1 的 SCL、SDA 线分别通过 R5、R6(4.7kΩ)上拉至 VCC;
  3. 地址选择模块:SSD1306 的 SA0 通过 R1、R2(0Ω)二选一接到 GND(0x3C)或 VCC(0x3D),PCB 丝印标注 IIC ADDRS SELECT 方便选择;
  4. OLED 连接器:30pin FPC 座(U2)引出 SSD1306 所需的 VDD / VBAT / GND / BS0~BS2 / RES# / D/C# / IREF / VCOMH 等信号,并在面板旁配置自举电容(C5~C11)。

PCB

  • PCB 尺寸:约 30 × 30 mm(两层板);
  • 布局:OLED 面板区域居上,FPC 座位于面板正下方;电源 / I2C 上拉电阻 / 自举电容布置于 FPC 下方空余区域;2.54mm I2C 排针位于板子下边缘;
  • 走线:I2C 信号线较短,直接走顶层;3.3V 电源走顶层,GND 通过铺铜形成完整地平面。

五、模块主要性能指标和管脚定义

性能指标

参数

数值

备注

显示类型

OLED

自发光,无需背光

驱动 IC

SSD1306

COG 绑定于面板

分辨率

128 × 64

单色

对角尺寸

0.96 英寸

通信接口

I2C

SCL / SDA

I2C 地址

0x3C / 0x3D

板载电阻选择

输入电压

3.3V / 5V

板载 SC662K-3.3 LDO

工作电流

典型 10~20 mA

取决于点亮像素

工作温度

-40 ~ +85 ℃

SSD1306 工规范围

板载尺寸

约 30 × 30 mm

两层 PCB

管脚定义(2.54mm 排针 1×4)

位号

名称

方向

说明

1

VCC

IN

3.3V~5V 电源输入

2

GND

3

SCL

IN

I2C 时钟线

4

SDA

I/O

I2C 数据线

板上设置(地址选择)

焊盘

配置

对应 I2C 地址

R1 焊接 / R2 不焊

SA0 → GND

0x3C(默认)

R2 焊接 / R1 不焊

SA0 → VCC

0x3D

六、心得体会

通过本次 Make Blocks 设计挑战赛第一期的任务,我完成了一个标准 I2C OLED 模块的原理图和 PCB 设计。主要收获包括:

  1. 加深了对 SSD1306 驱动器工作原理的理解,尤其是 I2C 从地址切换、自举电容配置、VCC/VCC_IO 供电方式等细节;
  2. 熟悉了原理图绘制、PCB 布局、器件封装导入、3D 模型渲染与导出流程;
  3. 了解了 LDO 压差对 3.3V 直通场景的影响,本项目使用的 SC662K 压差已较低(约 0.3V),但仍可考虑 XC6206 等超低压差 LDO 进一步优化;
  4. 体会到"模块化设计"思维的价值——以单一、通用、标准接口(I2C)的小模块搭建系统,比大板一体化更利于后续复用与调试。

后续可改进方向:

  • 可考虑使用 XC6206-3.3 等超低压差 LDO(压差 <0.25V)进一步提升 3.3V 直供裕度;
  • 增加 ESD 保护二极管到 I2C 线;
  • 考虑增加 QWIIC / Stemma QT 接口以支持免焊插接。

意见和建议:

目前活动要求提交 KiCad 格式文件,但许多参赛者使用的是其余平台,两者之间的格式转换流程较为繁琐,建议后续考虑直接支持其余格式工程文件或者提供官方转换工具。

附件下载
中景园 0.96-IIC原理图.pdf
板上资源框图.png
Schematic_基于SSD1306的0.96寸I2C-OLED显示模块_2026-04-19.pdf
image copy.png
image.png
团队介绍
个人完成,参与 2026 Make Blocks 第二季设计挑战赛第一期"数字系统模块"主题,负责模块方案选型、原理图设计、PCB 布局布线与提交文档编写。
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号