Driver for the SSD1306 and SH1106 based 128x64, 128x32, 64x48 pixel OLED display running on ESP8266/ESP32

esp8266-oled-ssd1306

ESP32 ⭐☆☆☆☆ (1/5) 已发布
ThingPulse 2166 Stars NOASSERTION BOM 完整度: /5 教程完整度: /5

项目简介

SSD1306/SH1106驱动,支持128x64等OLED屏,运行于ESP8266/ESP32。


ThingPulse OLED SSD1306 是一个专为 ESP8266、ESP32 以及 mbed-os 平台设计的 OLED 显示屏驱动库,主要支持 SSD1306 和 SH1106 两种驱动芯片,覆盖 128x64、128x32、64x48 和 64x32 等多种常见分辨率。该库同时兼容 I2C 和 SPI 两种通信接口,用户可以根据硬件连接灵活选择。项目最初由 Daniel Eichhorn 开发,后经社区多位贡献者优化,目前已集成到 Arduino 库管理器、PlatformIO 和 mbed-os 生态中,安装非常便捷。

标签

项目特点

同时支持SSD1306和SH1106两种主流OLED驱动芯片
兼容128x64、128x32、64x48等多种分辨率
支持I2C和SPI两种通信接口,灵活适配不同硬件
内置丰富的绘图API,包括像素、线条、矩形、圆形、字体和位图
提供多种内置字体,支持中英文混合显示
基于ESP8266/ESP32平台,在Arduino和mbed OS环境下均可使用

技术规格

支持驱动芯片
支持分辨率
通信接口
目标平台
开发框架
显示颜色
最大帧率
内置字体数量
库文件大小

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
ESP8266 或 ESP32 开发板 1 如NodeMCU、Wemos D1 Mini、ESP32-DevKitC
SSD1306或SH1106 OLED模块 1 分辨率可选128x64、128x32、64x48
杜邦线(母对母) 4-7 I2C需4根,SPI需7根
上拉电阻(4.7kΩ) 2 I2C模式下SDA/SCL上拉,部分模块已内置
100μF电解电容 1 可选,用于电源滤波,防止显示闪烁
USB数据线 1 为开发板供电

所需工具

工具用途是否必需
Arduino IDE 编写、编译、上传代码 ✅ 是
ESP8266/ESP32板支持包 在Arduino IDE中添加ESP8266/ESP32开发板支持 ✅ 是
USB转串口驱动 确保开发板与电脑通信 ✅ 是
逻辑分析仪 调试I2C/SPI通信时序 ▢ 推荐
万用表 检测连接和电压 ▢ 推荐

能力画像

**记忆与知识检索**:3/5 — 需要查阅芯片数据手册和库文档,但核心API文档完善,检索难度中等。
**动手与操作**:4/5 — 需要焊接排针、连接杜邦线、搭建面包板电路,操作门槛较低但需细心。
**编程与算法**:3/5 — 主要调用库函数绘制图形,无需复杂算法,但需要理解I2C/SPI通信原理。
**设计与建模**:2/5 — 涉及简单的UI布局设计,如菜单、图标排布,无需专业建模工具。
**实验与调试**:4/5 — 需要调试显示异常、通信失败等问题,常用串口输出和逻辑分析仪辅助。
**协作与分享**:3/5 — 可通过GitHub提交Issue或PR,社区活跃,但协作流程对新手有一定门槛。
**学习与研究**:4/5 — 适合学习嵌入式显示驱动、I2C/SPI协议、低功耗设计,资料丰富。
**系统集成**:3/5 — 可集成到智能家居、传感器数据展示等项目中,但需自行编写上层应用逻辑。

所需技能

基础的Arduino或C++编程能力 了解I2C和SPI通信协议的基本原理 能够使用面包板和杜邦线搭建简单电路 熟悉ESP8266或ESP32开发板的烧录与调试流程 具备阅读英文技术文档的能力

适用场景

物联网设备的状态显示屏(如温湿度、时间、网络状态)
智能家居控制面板的小型信息屏
可穿戴设备或迷你游戏机的显示模块
传感器数据可视化(如PM2.5、气压、光照强度)
创客教育中学习嵌入式显示驱动和通信协议
桌面小摆件、电子相册、倒计时器等趣味项目