Driver for the SSD1306 and SH1106 based 128x64, 128x32, 64x48 pixel OLED display running on ESP8266/ESP32
esp8266-oled-ssd1306
ESP32
⭐☆☆☆☆ (1/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、气压、光照强度)
创客教育中学习嵌入式显示驱动和通信协议
桌面小摆件、电子相册、倒计时器等趣味项目