Skip to main content
ESPBoards

Reseña de las Placas de Pantalla Elecrow CrowPanel ESP32: Comparación entre los Modelos de 2.8" y 7.0", Características y Pruebas

Reseña detallada de las Placas de Pantalla Elecrow CrowPanel ESP32 con una comparación entre los diferentes modelos. Explora las características, el rendimiento y el inicio rápido con las placas de 2.8" y 7.0".


Hoy vamos a revisar las Placas de Pantalla ESP32 con Pantalla Táctil de Elecrow - el CrowPanel. Elecrow es una empresa especializada en la provisión de componentes electrónicos, módulos y placas de desarrollo en el ámbito de la electrónica. Ofrecen una amplia gama de productos, incluyendo accesorios para ESP32 y Raspberry Pi, sensores, actuadores, pantallas y más.

Elecrow amablemente nos envió dos modelos: uno con pantalla de 2.8" y otro con pantalla de 7", de su serie "Elecrow CrowPanel Display HMI", los cuales vamos a revisar. Pero primero, echemos un vistazo a las ofertas de la serie.

Serie CrowPanel Display HMI #

La "CrowPanel Display HMI" es un dispositivo de interfaz hombre-máquina (HMI) ofrecido por Elecrow. Los HMIs se utilizan comúnmente en entornos industriales y de automatización para facilitar la interacción entre humanos y máquinas. Generalmente cuentan con pantallas táctiles u otros métodos de entrada para que los usuarios puedan controlar y monitorear los procesos.

Las pantallas CrowPanel ESP32 suelen estar equipadas con microcontroladores ESP32-WROOM-32 o ESP32-S3-WROOM-1, que garantizan un funcionamiento sin interrupciones con el procesador de 32 bits de doble núcleo LX6.

Cada módulo CrowDisplay cuenta con una pantalla LCD de alta resolución, en una gama de tamaños de pantalla que incluyen 2.4, 2.8, 3.5, 4.3, 5.0 y 7.0 pulgadas, ofreciendo visuales nítidas y una experiencia de usuario mejorada. Junto con la compatibilidad total con la biblioteca gráfica LVGL, permite una personalización fluida de la interfaz de usuario, lo que facilita la creación de interfaces modernas, atractivas y visualmente atractivas.

Además, al utilizar tecnología táctil capacitiva, los módulos CrowDisplay ofrecen interfaces táctiles receptivas e intuitivas, mejorando la interacción del usuario. La inclusión de opciones de expansión como ranuras para tarjetas TF, interfaces periféricas múltiples, interfaces USB, interfaces para altavoces e interfaces para baterías permiten la personalización e integración con varios periféricos y accesorios.

Comparación de las Pantallas CrowPanel #

La siguiente tabla compara varias especificaciones de los módulos CrowDisplay en diferentes tamaños, centrándose tanto en sus diferencias como en sus similitudes:

Tamaño2.4"2.8"3.5"4.3"5.0"7.0"
Resolución320*240320*240480*320480*272800*480800*480
Tipo de TactoTáctil ResistivoTáctil ResistivoTáctil ResistivoTáctil ResistivoTáctil CapacitivoTáctil Capacitivo
MicrocontroladorESP32-WROOM-32-N4ESP32-WROOM-32-N4ESP32-WROOVER-BESP32-S3-WROOM-1-N4R2ESP32-S3-WROOM-1-N4R8ESP32-S3-WROOM-1-N4R8
Frecuencia240MHz240MHz240MHz240MHz240MHz240MHz
Flash4MB4MB4MB4MB4MB4MB
SRAM520KB520KB520KB512KB512KB512KB
ROM448KB448KB448KB384KB384KB384KB
PSRAM//8MB2MB8MB8MB
Controlador de PantallaILI9341VILI9341VILI9488NV3047IL16122 + IL15960EK9716BD3 + EK73002ACGB
Interfaces1xUART0, 1xUART1, 1xI2C, 1xGPIO, 1xBatería1xUART0, 1xUART1, 1xI2C, 1xGPIO, 1xBatería2xUART0, 1xI2C, 1xGPIO, 1xBatería1xUART0, 2xUART1, 2xGPIO, 1xBatería2xUART0, 2xGPIO, 2xI2C, 1xBatería2xUART0, 2xGPIO, 2xI2C, 1xBatería
Conector para Altavoces
Ranura para Tarjeta TF
Tamaño36.72 x 48.96mm43.2 x 57.6mm48.96 x 73.44mm95.04 x 53.8mm108 x 64.8mm153.84 x 85.63mm
  • Tamaño: Los módulos CrowDisplay están disponibles en tamaños que van desde 2.4" hasta 7.0", adaptándose a diferentes necesidades de aplicación y requisitos de espacio en pantalla.

  • Resolución: Cada módulo ofrece una resolución diferente, con pantallas de mayor resolución disponibles en tamaños más grandes. Por ejemplo, el módulo de 7.0" tiene una resolución de 800x480, proporcionando visuales más nítidas y detalladas en comparación con los módulos más pequeños.

  • Tipo de Tacto: Aunque todos los módulos admiten entrada táctil, hay una diferencia en la tecnología táctil utilizada. Los módulos más pequeños (2.4", 2.8", 3.5") utilizan tecnología táctil resistiva, mientras que los módulos más grandes (5.0", 7.0") utilizan tecnología táctil capacitiva, lo que ofrece una entrada táctil más precisa y sensible.

  • Microcontrolador: Los módulos están alimentados por diferentes microcontroladores, con variaciones como ESP32-WROOM-32-N4 y ESP32-S3-WROOM-1-N4R8. A pesar de las diferencias en los microcontroladores, todos los módulos operan a una frecuencia de 240MHz, garantizando un rendimiento constante.

  • Memoria: Existen ligeras variaciones en las especificaciones de memoria, como flash, SRAM, ROM y PSRAM. Sin embargo, todos los módulos ofrecen memoria suficiente para respaldar sus respectivas funcionalidades y aplicaciones.

  • Controlador de Pantalla: Cada módulo utiliza un controlador de pantalla específico, adaptado para optimizar el rendimiento y la compatibilidad con el tamaño de pantalla y la resolución correspondiente.

  • Interfaces: El número y los tipos de interfaces disponibles en cada módulo pueden variar. Los módulos más grandes suelen ofrecer más interfaces, lo que permite agregar periféricos y accesorios adicionales.

  • Conector para Altavoces y Ranura para Tarjeta TF: Estas características son comunes en todos los módulos, brindando a los usuarios opciones para salida de audio y expansión de almacenamiento externo.

  • Tamaño: Las dimensiones físicas de cada módulo varían, con módulos más grandes siendo naturalmente más grandes para acomodar sus respectivos tamaños de pantalla.

En general, aunque existen diferencias en resolución, tecnología táctil, microcontrolador y tamaño entre los módulos CrowDisplay, todos comparten características comunes como el soporte táctil, las capacidades de memoria y opciones de expansión como los conectores para altavoces y las ranuras para tarjetas TF. Estos módulos ofrecen flexibilidad y escalabilidad, permitiendo a los usuarios elegir el que mejor se adapte a sus requisitos de proyecto.

Programming ESP32 CrowDisplay Modules #

Programar los módulos ESP32 CrowDisplay es fácil si ya sabes cómo programar cualquier módulo ESP32. Especialmente con algunos módulos que ofrecen soporte para ESPHome. Aunque no todos los módulos admiten ESPHome, con los tutoriales de LVGL de Elecrow, ¡puedes estar creando excelentes interfaces de usuario en minutos!

ESPHome #

Los módulos CrowDisplay que vienen en tamaños como 2.4 pulgadas, 2.8 pulgadas y 3.5 pulgadas, utilizan controladores avanzados de pantallas como el ILI9341V y el ILI9488. Estos controladores no solo son conocidos por su fiabilidad, sino que también son compatibles con ESPHome. Gracias a esta compatibilidad, integrar los módulos CrowDisplay en tus proyectos IoT se convierte en una experiencia fluida, lo que te permite permanecer en el ecosistema de ESPHome para todos tus dispositivos ESP32.

Compatible con LVGL #

Aunque no todos los módulos CrowDisplay son actualmente compatibles con ESPHome, ¡no te preocupes! Cada módulo CrowDisplay es completamente compatible con LVGL (LittlevGL), una conocida biblioteca gráfica de código abierto, celebrada por su adaptabilidad y su interfaz fácil de usar. Con LVGL, estarás equipado para crear interfaces de usuario modernas con entrada táctil sensible y widgets personalizables. Con LVGL, puedes diseñar fácilmente interfaces de usuario inmersivas adaptadas a tu proyecto, independientemente del tamaño del módulo CrowDisplay que elijas.

Unboxing de los Módulos ESP32 CrowDisplay de Elecrow #

El paquete fue enviado desde China y tanto los módulos de muestra de 2.8" como de 7" fueron agregados cuidadosamente en cajas de cartón separadas. Por dentro, las pantallas estaban envueltas en plástico de burbujas para evitar daños durante el envío.

Módulo CrowDisplay ESP32 de 2.8" #

Dentro de la caja del módulo CrowDisplay de 2.8 pulgadas, encontramos el módulo de pantalla ESP32, una carcasa de acrílico, un cable USB-A a USB-C para alimentar y programar el módulo, un cable Grove a 4 pines DuPont, que se puede usar para conectar periféricos a los puertos I2C, GPIO_D o UART0 en la placa, y un lápiz táctil para interactuar con la pantalla.

Después de ensamblar la carcasa y montarla en la placa, el conjunto luce bastante ordenado.

Módulo CrowDisplay ESP32 de 7" #

Dentro de la caja del módulo CrowDisplay de 7 pulgadas, encontramos el módulo de pantalla ESP32, con la carcasa ya montada. Además, incluye un cable USB-A a USB-C para alimentar y programar el módulo. También, dentro, encontramos un cable Grove a 4 pines DuPont, que se puede usar para conectar periféricos a los puertos I2C, GPIO_D o UART0 en la placa.

Prueba del Módulo de Pantalla ESP32 #

Para probar el Módulo de Pantalla ESP32 de Elecrow, vamos a cargar algunos ejemplos de código TFT en las placas. Usaremos el IDE de Arduino y los ejemplos de TFT_eSPI, pero si buscas un ejemplo más completo, puedes consultar el tutorial oficial de Elecrow para la placa de 2.8".

Antes de sumergirnos en el ejemplo con el IDE de Arduino, hay algunos pasos sencillos que debemos seguir en el IDE de Arduino para configurar todo:

  1. Ve a Configuraciones y busca URLs adicionales para el Gestor de Placas. Agrega la siguiente URL: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

  2. Abre el Gestor de Placas desde el menú en el lado izquierdo. Busca "esp32" e instala el paquete esp32 de Espressif Systems.

  3. Dirígete a la sección de Bibliotecas (también en el menú izquierdo), busca "TFT_eSPI" e instálalo. Esta biblioteca ha sido desarrollada por Bodmer.

Ahora estamos listos para cargar el código de ejemplo. Vamos a probar los módulos de 2.8" y 7" por separado.

Módulo de Pantalla ESP32 Crowpanel de 2.8" #

Para el módulo de 2.8", primero probaremos el ejemplo "TFT_Clock" de la biblioteca TFT_eSPI.

Seleccionar el ejemplo TFT_Meters #

  1. En el IDE de Arduino, selecciona "Archivo" -> "Ejemplos" -> "TFT_eSPI" -> "320x240" -> "TFT_Clock"

Configuración de User_Setup para la Biblioteca TFT_eSPI - Placa ESP32 de 2.8" #

Antes de cargar el código, necesitamos proporcionar configuraciones personalizadas para la biblioteca TFT_eSPI.

  1. Guardar el Proyecto de Ejemplo en Arduino

En el IDE de Arduino, haz clic en "Archivo" -> "Guardar Como..." y guarda el proyecto en tu computadora en el directorio que prefieras.

  1. Crear el Archivo de Configuración tft_setup.h

En la misma carpeta donde guardaste el proyecto de ejemplo, crea un archivo adicional llamado tft_setup.h.

  1. Rellenar la Configuración en el Archivo tft_setup.h

Copia y pega el siguiente código en el archivo recién creado tft_setup.h:

// ##################################################################################
//
// Section 1. Call up the right driver file and any options for it
//
// ##################################################################################

#define ILI9341_DRIVER // Generic driver for common displays
#define TFT_WIDTH 320
#define TFT_HEIGHT 240

// ##################################################################################
//
// Section 2. Define the pins that are used to interface with the display here
//
// ##################################################################################

#define TFT_BACKLIGHT_ON HIGH // Level to turn ON back-light (HIGH or LOW)
#define TFT_BL 27 // LED back-light
#define TFT_MISO 12
#define TFT_MOSI 13
#define TFT_SCLK 14
#define TFT_CS 15
#define TFT_DC 2
#define TFT_RST -1
#define TOUCH_CS 33

// ##################################################################################
//
// Section 3. Define the fonts that are to be used here
//
// ##################################################################################

// Comment out the #defines below with // to stop that font being loaded
// The ESP8366 and ESP32 have plenty of memory so commenting out fonts is not
// normally necessary. If all fonts are loaded the extra FLASH space required is
// about 17Kbytes. To save FLASH space only enable the fonts you need!

#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH
#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters
#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters
#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm
#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-.
#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-.
#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts

// Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded
// this will save ~20kbytes of FLASH
#define SMOOTH_FONT

// ##################################################################################
//
// Section 4. Other options
//
// ##################################################################################

// Define the SPI clock frequency, this affects the graphics rendering speed. Too
// fast and the TFT driver will not keep up and display corruption appears.

#define SPI_FREQUENCY 27000000
#define SPI_TOUCH_FREQUENCY 2500000
#define SPI_READ_FREQUENCY 16000000

Subir el Código al Módulo Elecrow ESP32 #

  1. Selecciona "Herramientas" -> "Placa" -> "esp32" -> "Módulo ESP32-WROOM-DA".
  2. Selecciona "Herramientas" -> "Puerto" -> Selecciona el puerto de tu panel Elecrow.
  3. Selecciona "Esquema" -> "Subir".

Después de un tiempo, el código debería compilar y cargarse en la placa. En breve, verás que la pantalla se enciende. En la imagen de la izquierda se ve el ejemplo de Reloj TFT, mientras que en la derecha se ve el ejemplo de texto personalizado, ambos funcionando en la placa ESP32 2.8" de Elecrow.

Solución de problemas #

Si al intentar cargar el código del ejemplo TFT_eSPI en la placa ESP32 de Elecrow, ves el error A fatal error occurred: Unable to verify flash chip connection (Invalid head of packet (0xE0): Possible serial noise or corruption.), podría estar relacionado con la Velocidad de la Placa seleccionada. Por defecto, en el IDE de Arduino, la velocidad de carga es de 921600.

Si encuentras problemas, prueba a reducir la velocidad de carga a 115200:

  1. Selecciona Herramientas -> Velocidad de Subida -> 115200.
  2. Vuelve a cargar el programa.

Si aún no puedes cargar el programa, asegúrate de que el cable que estás utilizando sea compatible con la transferencia de datos. Algunos cables USB-C solo son para alimentación.

Módulo ESP32 Crowpanel 7" #

Probé conectar la alimentación para el módulo de 7" y ya tiene un proyecto de ejemplo cargado. Soporta pantalla táctil y proporciona un panel de usuario con diferentes configuraciones. Puedes ver cómo se ve en la imagen.

Desafortunadamente, la librería TFT_eSPI no es compatible con la placa de 7" de Elecrow. Para usar la pantalla del Crowpanel de 7", necesitarás usar la librería LovyanGFX o el estilo completo de LVGL, como se muestra en el tutorial de Arduino para ESP32 Display 7.0 pulgadas de Elecrow.

Esto es un poco más avanzado para este artículo, pero abordaremos cómo usar la placa de 7" en publicaciones futuras. ¡Mantente al tanto!

Otras versiones de las placas Elecrow Crowpanel ESP32 #

Hay varias opciones adicionales como los modelos 2.4", 3.5", 4.3", 5.0" además de las ya mencionadas 2.8" y 7.0" de Elecrow HMI. Puedes encontrar un wiki separado para cada modelo en el Wiki de Elecrow CrowPanel.

Los modelos 2.4", 2.8" y 3.5" del módulo ESP32 de Elecrow soportan la librería TFT_eSPI, lo que hace que sean muy fáciles de usar. Solo instala la librería y estarás listo para empezar.