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

支持的 ePaper
24-Pin 连接器
- 1.54-inch ePaper - Monochrome 200x200
- 2.13-inch ePaper -Flexible Monochrome 212x104
- 2.13-inch ePaper - Quadruple 212x104
- 2.9-inch ePaper - Monochorm 128x296
- 2.9-inch ePaper - Quadruple color 128x296
- 4.2-inch ePaper - Monochorm 400x300
- 4.26-inch ePaper - Monochorm 800x480
- 5.83-inch ePaper - Monochorm 648x480
- 7.5-inch ePaper - Monochorm 800x480
- 7.5-inch ePaper - Tri-Color 800x480

在使用 XIAO ePaper Display Board 时,请务必根据 ePaper 显示屏的类型正确设置跳线:
- 对于 24 Pin ePaper 显示屏 → 将跳线设置为 24 Pin
⚠️ 使用错误的跳线设置可能会导致 ePaper 无法显示或显示异常内容。通电前请务必再次确认跳线位置。
50-Pin 连接器

在使用 XIAO ePaper Display Board 时,请务必根据 ePaper 显示屏的类型正确设置跳线:
- 对于 50 Pin ePaper 显示屏 → 将跳线设置为 50 Pin
⚠️ 使用错误的跳线设置可能会导致 ePaper 无法显示或显示异常内容。通电前请务必再次确认跳线位置。
软件概览
安装 Seeed GFX 库
此库与 TFT 库具有相同功能,但与其不兼容。如果你已经安装了 TFT 库或其他类似的显示库,请先将其卸载。
从 GitHub 下载并安装 Seeed GFX 库。

向下滚动并打开此链接。

选择你的设备类型,页面会生成一些代码。复制这些代码,我们稍后会用到。
如果选择错误,屏幕将不会显示任何内容。
因此请务必确认你的设备或组件类型。

下载库文件后,依次点击 Sketch -> Include Library -> Add .ZIP Library,然后选择刚刚下载的库。

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

入门
这里我们以 7.5 英寸显示屏为例。对于所有 24-pin 屏幕,步骤都是相同的,唯一的区别是在驱动程序中选择合适的屏幕尺寸。
创建一个 新的 "driver.h" 文件,并将这些代码粘贴进去。代码应类似如下:
#define BOARD_SCREEN_COMBO 502 // 7.5 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 提供了 3 个可由用户编程的按键,可用于各种控制用途。本节演示如何使用 Arduino 读取按键状态并响应按键按下。
在 EN04 上,这 3 个按键连接到 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);
}
资源
技术支持与产品讨论
感谢你选择我们的产品!我们将为你提供多种支持,确保你在使用我们产品的过程中尽可能顺利。我们提供多种沟通渠道,以满足不同的偏好和需求。
