Primeros pasos con XIAO ePaper Display EN04
| Placa XIAO ePaper Display EN04 |
|---|
![]() |
Introducción
Impulsada por XIAO nRF52840 Plus, la placa de pantalla EN04 es compatible con pantallas ePaper de 24 pines y 50 pines. Incorpora un conector de batería JST de 2,0 mm con interruptor de encendido, CI de carga integrado, función NFC y viene con un botón de reinicio y tres botones de usuario. Es ideal para proyectos ePaper de bajo consumo como señalización digital, etiquetas electrónicas y paneles de información portátiles.
Características
- Impulsada por XIAO nRF52840 Plus: Funciona de inmediato al conectarla a una pantalla ePaper compatible.
- Soporte de pantalla versátil: Compatible con una amplia gama de pantallas ePaper, admitiendo interfaces de 24 pines y 50 pines con cambio sencillo mediante jumpers.
- Conector BAT con interruptor: Proporciona una conexión de batería sencilla e integra un interruptor, lo que permite una gestión de energía eficiente y ahorro energético.
- Botones fáciles de usar: Incluye 1 botón de reinicio y 3 botones programables por el usuario, ofreciendo flexibilidad para acelerar el desarrollo del proyecto y funciones personalizables.
Especificación
| Parámetro | Descripción |
|---|---|
| Procesador | XIAO nRF52840 Plus |
| Conector ePaper | FPC 24 Pin 0.5mm FPC 50 Pin 0.5mm |
| Conector de batería | JST 2.0mm |
| Interruptor | Encendido/Apagado de alimentación por batería |
| Alimentación | - Batería de 3,7V Li - USB Tipo C |
| Botón | - 1x Botón de reinicio - 3x Botón de usuario |
Guía de selección de placas ePaper
| Producto | Placa ePaper Display EN04 | ePaper Breakout | ePaper Driver Board |
|---|---|---|---|
| Procesador | XIAO nRF52840 Plus | Serie XIAO | Serie XIAO |
| Pantallas ePaper compatibles | ePaper de 24 pines ePaper de 50 pines | ePaper de 24 pines | ePaper de 24 pines |
| Conector ePaper | FPC 24 Pin, 0.5mm FPC 50 Pin, 0.5mm | FPC 24 Pin 0.5mm | FPC 24 Pin 0.5mm |
| Conector de batería | JST 2.0mm | / | JST 2.0mm |
| Interruptor | Encendido/Apagado de alimentación por batería | / | Encendido/Apagado de alimentación por batería |
| Botón | 1x Botón de reinicio 3x Botón de usuario | / | / |
| Puerto IO de expansión | / | conexión de otros controladores | conexión de sensores adicionales |
Aplicaciones
- Panel de control para hogar inteligente: Muestra información en tiempo real como actualizaciones del clima, eventos de calendario y notificaciones de varios dispositivos del hogar inteligente.
- Monitorización de energía: Muestra datos de consumo energético de contadores inteligentes, ayudando a los propietarios a controlar y gestionar su uso de energía de forma más eficiente.
- Alertas de seguridad: Muestra alertas y notificaciones sobre eventos de seguridad, como detección de movimiento o activación de sensores de puertas/ventanas.
- Pantalla de termostato inteligente: Muestra niveles de temperatura y humedad, así como ajustes de control para tu termostato inteligente.
- Marco de fotos digital: Crea un marco de fotos digital con WiFi que pueda mostrar imágenes desde tu red de hogar inteligente.
Descripción general del hardware

ePaper compatible
Conector de 24 pines
- Pantalla ePaper de 1,54 pulgadas - Monocroma 200x200
- Pantalla ePaper de 2,13 pulgadas - Flexible monocroma 212x104
- Pantalla ePaper de 2,13 pulgadas - Cuádruple 212x104
- Pantalla ePaper de 2,9 pulgadas - Monocroma 128x296
- Pantalla ePaper de 2,9 pulgadas - Color cuádruple 128x296
- Pantalla ePaper de 4,2 pulgadas - Monocroma 400x300
- Pantalla ePaper de 4,26 pulgadas - Monocroma 800x480
- Pantalla ePaper de 5,83 pulgadas - Monocroma 648x480
- Pantalla ePaper de 7,5 pulgadas - Monocroma 800x480
- Pantalla ePaper de 7,5 pulgadas - Tricolor 800x480

Al usar la XIAO ePaper Display Board, asegúrate de configurar el jumper según el tipo de pantalla ePaper:
- Para pantallas ePaper de 24 pines → ajusta el jumper a 24 Pin
⚠️ Usar una configuración de jumper incorrecta puede hacer que la pantalla ePaper no muestre nada o muestre contenido anómalo. Comprueba siempre la posición del jumper antes de encender.
Conector de 50 pines

Al usar la XIAO ePaper Display Board, asegúrate de configurar el jumper según el tipo de pantalla ePaper:
- Para pantallas ePaper de 50 pines → ajusta el jumper a 50 Pin
⚠️ Usar una configuración de jumper incorrecta puede hacer que la pantalla ePaper no muestre nada o muestre contenido anómalo. Comprueba siempre la posición del jumper antes de encender.
Descripción general del software
Instalar la biblioteca Seeed GFX
Esta biblioteca tiene la misma función que la biblioteca TFT y no es compatible con ella. Si has instalado la biblioteca TFT u otras bibliotecas de pantalla similares, desinstálalas primero.
Descarga e instala la biblioteca Seeed GFX desde GitHub.

Desplázate hacia abajo y abre este enlace.

Selecciona tu tipo de dispositivo y generará algo de código. Copia ese código y lo usaremos más tarde.
Si haces una elección equivocada, la pantalla no mostrará nada.
Así que, por favor, asegúrate del tipo de tus dispositivos o componentes.

Después de descargar la biblioteca, ve a Sketch -> Include Library -> Add .ZIP Library y selecciona la biblioteca descargada.

Hay 4 ejemplos básicos, abre un ejemplo básico que te guste:
- Bitmap: Muestra una imagen de mapa de bits.
- Clock: Muestra un reloj.
- Clock_digital: Muestra un reloj digital.
- Shape: Muestra palabras y formas de diferentes tamaños.

Primeros pasos
Aquí usamos una pantalla de 7,5 pulgadas como ejemplo. Los pasos son los mismos para todas las pantallas de 24 pines; la única diferencia es seleccionar el tamaño de pantalla adecuado en el controlador.
Crea un nuevo archivo "driver.h" y pega ese código en él. El código debería ser como:
#define BOARD_SCREEN_COMBO 502 // 7.5 inch monochrome ePaper Screen (UC8179)
#define USE_XIAO_EPAPER_DISPLAY_BOARD_EN04
Después de eso, ve a Tools -> Board -> XIAO ESP32S3 y Tools -> Port -> Select the port your board is connected to. Luego haz clic en Upload para cargar el código.

¡Ahora verás la retroalimentación en tu pantalla de epaper! A continuación se muestran los resultados de los ejemplos de Helloworld. (Si no aparece nada, haz clic en el botón de reinicio)
⚠️ Nota: Orientación del cable de ePaper Al conectar la pantalla ePaper a la XIAO ePaper Display Board, asegúrate de que el cable FPC esté insertado en la dirección correcta.
⚠️ ¡No inviertas el conector! Insertar el cable al revés puede hacer que el ePaper no muestre nada o incluso dañar la pantalla/placa. La imagen siguiente muestra la conexión correcta:

Botones de usuario en XIAO ePaper Display Board(nRF52840) - EN04
La EN04 cuenta con tres botones programables por el usuario que se pueden utilizar para varios propósitos de control. Esta sección muestra cómo leer los estados de los botones y responder a las pulsaciones usando Arduino.
En la EN04, los tres botones están conectados a la XIAO nRF52840 Plus:
| KEY1 | KEY2 | KEY3 |
|---|---|---|
| GPIO2_D1/A1 | GPIO3_D2/A2 | GPIO5_D4/A4 |
Todos los botones son activos en bajo, lo que significa que leen LOW cuando se presionan y HIGH cuando se sueltan.
Ejemplo básico de lectura de botones
Este ejemplo muestra cómo detectar pulsaciones de botones e imprimir mensajes en el monitor serie.

// 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);
}
Batería de usuario en XIAO ePaper Display Board(nRF52840) - EN04
Cuando funcione con alimentación por batería:
-
El dispositivo entrará automáticamente en modo de bajo consumo entre actualizaciones
-
La duración de la batería depende de la frecuencia de actualización (normalmente 3 meses con una carga completa y la configuración predeterminada)
-
El dispositivo mostrará un icono de batería baja en la esquina superior derecha cuando el nivel de batería sea inferior al 20%
Si quieres escribir algo de código por tu cuenta para leer el voltaje de la batería, será más preciso añadir un retardo de 10 ms antes de la función analogRead().

#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);
}
Recursos
Soporte técnico y debate sobre el producto
¡Gracias por elegir nuestros productos! Estamos aquí para ofrecerte diferentes tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.
