XIAO ePaper 显示板 EN04 入门指南
| XIAO ePaper 显示板 EN04 |
|---|
![]() |
简介
由 XIAO nRF52840 Plus 驱动,显示板 EN04 支持 24 针和 50 针电子纸显示屏。它配备 JST 2.0 mm 电池连接器和电源开关、内置充电 IC、NFC 功能,并配有一个复位按钮和三个用户按钮。非常适合低功耗电子纸项目,如数字标牌、电子标签和便携式信息板。
特性
- 由 XIAO nRF52840 Plus 驱动: 连接兼容的电子纸显示屏后即可立即工作。
- 多功能显示支持: 兼容多种电子纸屏幕,支持 24 针和 50 针接口,通过跳线帽轻松切换。
- 带开关的电池连接器: 提供简单的电池连接并集成开关,实现高效的电源管理和节能。
- 用户友好的按钮: 包括 1 个复位按钮和 3 个用户可编程按钮,为项目加速和自定义功能提供灵活性。
规格参数
| 参数 | 描述 |
|---|---|
| 处理器 | XIAO nRF52840 Plus |
| 电子纸连接器 | FPC 24 针 0.5mm FPC 50 针 0.5mm |
| 电池连接器 | JST 2.0mm |
| 开关 | 电池电源开/关 |
| 电源供应 | - 3.7V 锂电池 - USB Type-C |
| 按钮 | - 1x 复位按钮 - 3x 用户按钮 |
电子纸板选择指南
| 产品 | 电子纸显示板 EN04 | 电子纸扩展板 | 电子纸驱动板 |
|---|---|---|---|
| 处理器 | XIAO nRF52840 Plus | XIAO 系列 | XIAO 系列 |
| 兼容电子纸显示屏 | 24 针电子纸 50 针电子纸 | 24 针电子纸 | 24 针电子纸 |
| 电子纸连接器 | FPC 24 针,0.5mm FPC 50 针,0.5mm | FPC 24 针 0.5mm | FPC 24 针 0.5mm |
| 电池连接器 | JST 2.0mm | / | JST 2.0mm |
| 开关 | 电池电源开/关 | / | 电池电源开/关 |
| 按钮 | 1x 复位按钮 3x 用户按钮 | / | / |
| 扩展 IO 端口 | / | 连接其他控制器 | 连接额外传感器 |
应用场景
- 智能家居仪表板:显示实时信息,如天气更新、日历事件和来自各种智能家居设备的通知。
- 能耗监控:显示智能电表的能耗数据,帮助房主更有效地跟踪和管理能源使用。
- 安全警报:显示安全事件的警报和通知,如运动检测或门窗传感器激活。
- 智能恒温器显示:显示温度和湿度水平,以及智能恒温器的控制设置。
- 数字相框:创建支持 WiFi 的数字相框,可以显示来自智能家居网络的图像。
硬件概述

支持的电子纸
24 针连接器
- 1.54 英寸电子纸 - 单色 200x200
- 2.13 英寸电子纸 - 柔性单色 212x104
- 2.13 英寸电子纸 - 四色 212x104
- 2.9 英寸电子纸 - 单色 128x296
- 2.9 英寸电子纸 - 四色 128x296
- 4.2 英寸电子纸 - 单色 400x300
- 4.26 英寸电子纸 - 单色 800x480
- 5.83 英寸电子纸 - 单色 648x480
- 7.5 英寸电子纸 - 单色 800x480
- 7.5 英寸电子纸 - 三色 800x480

使用 XIAO ePaper 显示板时,请确保根据电子纸显示屏类型设置跳线:
- 对于 24 针电子纸显示屏 → 将跳线设置为 24 针
⚠️ 使用错误的跳线设置可能导致电子纸无法显示或显示异常内容。上电前请务必仔细检查跳线位置。
50 针连接器

使用 XIAO ePaper 显示板时,请确保根据电子纸显示屏类型设置跳线:
- 对于 50 针电子纸显示屏 → 将跳线设置为 50 针
⚠️ 使用错误的跳线设置可能导致电子纸无法显示或显示异常内容。上电前请务必仔细检查跳线位置。
软件概述
安装 Seeed GFX 库
此库与 TFT 库具有相同功能但不兼容。如果您已安装 TFT 库或其他类似的显示库,请先卸载它们。
从 GitHub 下载并安装 Seeed GFX 库。

向下滚动并打开此链接。

选择您的设备类型,它将生成一些代码。复制这些代码,我们稍后会使用它们。
如果您选择错误,屏幕将不显示任何内容。
所以请确保您的设备或组件类型。

下载库后,转到 Sketch -> Include Library -> Add .ZIP Library 并选择下载的库。

有 4 个基本示例,打开您喜欢的基本示例:
- Bitmap:显示位图图像。
- Clock:显示时钟。
- Clock_digital:显示数字时钟。
- Shape:显示不同大小的文字和形状。

入门指南
这里,我们以 5.83 英寸显示屏为例。所有 24 针屏幕的步骤都相同;唯一的区别是在驱动程序中选择适当的屏幕尺寸。
创建一个新的 "driver.h" 文件并将这些代码粘贴到其中。代码应该如下所示:

#define BOARD_SCREEN_COMBO 503 // 5.86 inch monochrome ePaper Screen (UC8179)
#define USE_XIAO_EPAPER_DISPLAY_BOARD_EN04
之后,转到 Tools -> Board -> XIAO ESP32S3 和 Tools -> Port -> 选择您的开发板连接的端口。然后点击 Upload 上传代码。

现在您将在电子纸屏幕上看到反馈!以下是 Helloworld 示例的结果。
⚠️ 注意:电子纸电缆方向 将电子纸显示屏连接到 XIAO 电子纸显示板时,请确保 FPC 电缆插入方向正确。
⚠️ 不要反向连接!倒插电缆可能导致电子纸无法显示甚至损坏屏幕/开发板。 下图显示了正确的连接方式:

XIAO 电子纸显示板(nRF52840) - EN04 上的用户按钮
EN04 具有三个用户可编程按钮,可用于各种控制目的。本节演示如何使用 Arduino 读取按钮状态并响应按钮按下。
在 EN04 上,三个按钮连接到 XIAO nRF52840 Plus:
| KEY1 | KEY2 | KEY3 |
|---|---|---|
| GPIO2_D1/A1 | GPIO3_D2/A2 | GPIO5_D4/A4 |
所有按钮都是低电平有效,这意味着按下时读取为 LOW,释放时读取为 HIGH。
基本按钮读取示例
此示例演示如何检测按钮按下并向串行监视器打印消息。

// Define button pin (GPIO2 corresponds to Arduino digital pin 2)
const int KEY_PIN = 2;
void setup() {
// Initialize serial port (baud rate 9600, nRF52840 compatible with default Serial)
Serial.begin(9600);
// Wait for serial port initialization to complete (for nRF52840 Bluetooth module serial buffer)
while (!Serial) delay(10);
// Configure button pin as input mode with internal pull-up resistor enabled
// Pin is HIGH when not pressed, LOW when pressed
pinMode(KEY_PIN, INPUT_PULLUP);
Serial.println("nRF52840 Button Detection Program Started");
Serial.println("Press the button connected to GPIO2 to see output...");
}
void loop() {
// Read button state (INPUT_PULLUP mode: LOW = pressed, HIGH = not pressed)
int keyState = digitalRead(KEY_PIN);
// Detect if button is pressed (low level)
if (keyState == LOW) {
// 50ms delay for debounce handling (avoids false triggers from mechanical button bounce)
delay(50);
// Read state again to confirm (ensure stable press)
if (digitalRead(KEY_PIN) == LOW) {
// Print specified content via serial port
Serial.println("Hello. This is key1");
// Wait for button release (prevent repeated printing during long press)
while (digitalRead(KEY_PIN) == LOW) {
delay(10); // Short delay to reduce CPU usage
}
}
}
// Short delay in main loop for performance optimization
delay(10);
}
XIAO 电子纸显示板(nRF52840) - EN04 上的用户电池
使用电池供电时:
-
设备将在刷新之间自动进入低功耗模式
-
电池寿命取决于刷新频率(在默认设置下,满电通常可使用 3 个月)
-
当电池电量低于 20% 时,设备将在右上角显示低电量图标
如果您想自己编写代码来读取电池电压,在 analogRead() 函数之前添加 10ms 延迟会更精确。

#define VOLTAGE_PIN A0 //GPIO1
#define ADC_ENABLE_PIN A5 //GPIO6
void setup() {
Serial.begin(115200);
delay(10);
pinMode(VOLTAGE_PIN, INPUT);
pinMode(ADC_ENABLE_PIN, OUTPUT);
digitalWrite(ADC_ENABLE_PIN , HIGH);
}
void loop() {
analogReadResolution(12);
int adcValue = analogRead(VOLTAGE_PIN);
float voltage = (adcValue / 4096.0) *7.16;
Serial.print("ADC Value: ");
Serial.print(adcValue);
Serial.print(" Voltage: ");
Serial.print(voltage, 3);
Serial.println(" V");
delay(10);
}
资源
即将推出...
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。
