2.23inch OLED HAT 
   
 
2.23inch OLED HAT 
用户手册 
 
产 品 概 述  
 
 
本产品是专为树莓派设计的 2.23 寸 OLED 显示屏,分辨率为 128*32,带有内部控制器和
树莓派接口,同时也引出 IIC 与 SPI 的通信接口,方便用户与 STM32 等主控芯片对屏幕进行
控制。该屏幕可使用 SPI 或 I2C 进行控制(出厂默认使用 SPI 进行通信),用户可以通过更改
屏幕后面的电阻进而切换屏幕的通信方式,提供基于 BCM2835、WiringPi  、Python 库的树
莓派例程,STM32  例程及 Arduino  例程。 
 
 
版本:V1.0.0,日期:2019 年 08 月 15 日 
 
1 
2.23inch OLED HAT 
   
 
产 品 特 性  
驱动芯片  :    SSD1305 
支持接口  :    I2C 
分辨率      :    128 * 32 
显示尺寸  :    2.23inch 
像素大小  :0.41 x 0.39(mm) 
显示颜色  :    白色 
工作电压  :    3.3V 
 
管 脚 配 置  
 
 
 
功能引脚 
描述 
VCC 
GND 
DIN 
CLK 
CS 
DC 
电源正 
电源地 
数据输入 
时钟输入 
片选(低有效) 
寄存器/数据选择 
RST 
复位(低有效) 
版本:V1.0.0,日期:2019 年 08 月 15 日 
 
2 
2.23inch OLED HAT 
   
 
 
模块出厂默认使用 SPI 通信模式,  即 BS1,BS2,DIN,CLK,CS,DS 默认将 0R 电阻
接上方两个焊盘。如上图所示的焊接方式,则是选择 I2C 的通信方式,具体硬件链接见下表: 
 
 
 
工 作 原 理  
SSD1305 是一款 132*64 像素的 OLED 控制器,但该 OLED 只有 128*32 个像素点,所
以该屏只用到了 SSD1305 缓存区的前一部分。 
  该 OLED 支持 8bit 8080 并行、SPI 和 I2C 等通信方式,但考虑到该模块的尺寸,以及节
省微控制器宝贵的 IO 资源,故舍弃了 8bit 8080 并行方式,支持 I2C 与 SPI 的通信方式。 
 
 
版本:V1.0.0,日期:2019 年 08 月 15 日 
 
3 
2.23inch OLED HAT 
   
 
I2C  通 信 协 议  
在 I2C 通信时,先发送一个 7bit 的从设备地址+1bit 的读写位,等待设备的响应。 
在从设备应答后,接着发送一个控制字节,该字节决定了后面发送的字节是命令还是数
 
据,然后再等待从设备应答。 
在从设备再次应答之后,若发送命令,则只发送一字节的命令。若发送数据,可以只发送
一个字节,也可以多个字节的数据连着发送,视情况而定。 
详见 Datasheet Page22 Figure 8-6。 
SPI 通 信 协 议  
版本:V1.0.0,日期:2019 年 08 月 15 日 
 
 
4 
2.23inch OLED HAT 
   
 
如上图所示,SDIN  上的数据按  MSB  在前  LSB  在后为次序在每个  SCLK  的上升沿到来
时被移入一个  8-bit  移位寄  存器。D/C#在每第  8  个时钟被采样,并且移位寄存器里的数据
被写入图形显示内存(GDDRAM)  或者命令寄存器,在同样的计数时钟下。  在串行模式
下,仅允许写操作。  在  4-wireSPI  模式下的写操作过程。. 
详见 Datasheet Page21 Figure 8-5。 
例 程 使 用 说 明  
  该模块提供 STM32、Arduino、树莓派例程,并实现常用屏幕操作功能:画点、画线、画
矩形、画圆,可以控制它们的大小、宽度、填充,可以显示字符串。 
STM32 的 使 用  
硬件配置 
该例程使用的开发板为:XNUCLEO-F103RB 
IIC 连接方式: 
 
 
 
功能引脚 
开发板 
VCC 
GND 
DIN 
CLK 
3V3 
GND 
PB15 
PB13 
版本:V1.0.0,日期:2019 年 08 月 15 日 
 
5 
2.23inch OLED HAT 
   
 
SPI 连接方式: 
 
功能引脚 
开发板 
VCC 
GND 
DIN 
CLK 
CS 
DC 
RST 
3V3 
GND 
PB15 
PB13 
PB12 
PC6 
PC2 
功能引脚 
开发板(BCM) 
VCC 
GND 
DIN 
CLK 
3V3 
GND 
SDA   
SCL   
树 莓 派 的 使 用  
1.  硬件连接 
IIC 连接方式: 
 
 
版本:V1.0.0,日期:2019 年 08 月 15 日 
 
6 
2.23inch OLED HAT 
   
 
SPI 连接方式: 
功能引脚 
开发板(BCM) 
VCC 
GND 
DIN 
CLK 
CS 
DC 
RST 
3V3 
GND 
MOSI 
SCLK 
CE0 
24 
25 
2.  开启树莓派外设功能 
sudo raspi-config 
选择  Interfacing Options -> I2C ->yes  启动 I2C 内核驱动: 
选择  Interfacing Options -> SPI ->yes  启动 SPI 内核驱动: 
版本:V1.0.0,日期:2019 年 08 月 15 日 
 
 
7 
2.23inch OLED HAT 
   
 
3. 
  库的安装 
▪  安装 BCM2835,  打开树莓派终端,并运行一下指令 
1.  wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz 
2.  tar zxvf bcm2835-1.60.tar.gz  
3.  cd bcm2835-1.60/ 
4.  sudo ./configure 
5.  sudo make 
6.  sudo make check 
7.  sudo make install 
8.  # 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/ 
▪  安装 wiringPi 
1.  sudo apt-get install wiringpi 
2.  #对于树莓派 4B 可能需要进行升级: 
3.  cd /tmp 
4.  wget https://project-downloads.drogon.net/wiringpi-latest.deb 
5.  sudo dpkg -i wiringpi-latest.deb 
6.  gpio -v 
7.  # 运行 gpio -v 会出现 2.52 版本,如果没有出现说明安装出错 
▪  安装 Python 函数库 
1.  #python2 
2.  sudo apt-get update 
3.  sudo apt-get install python-pip 
4.  sudo apt-get install python-pil 
5.  sudo apt-get install python-numpy 
6.  sudo pip install RPi.GPIO 
7.  sudo pip install spidev 
8.  #python3 
9.  sudo apt-get update 
10. sudo apt-get install python3-pip 
11. sudo apt-get install python3-pil 
12. sudo apt-get install python3-numpy 
13. sudo pip3 install RPi.GPIO 
14. sudo pip3 install spidev 
 
版本:V1.0.0,日期:2019 年 08 月 15 日 
 
8