Cheap Yellow Display (oficialmente ESP32-2432S028R) es una placa de desarrollo pequeña que combina un ESP32 con una pantalla táctil resistiva de 2,8 pulgadas 320x240, ranura para tarjeta SD, LED RGB y sensor de luz, todo por menos de diez dólares. Despegó en 2024 y para 2026 se ha convertido en el objetivo predeterminado para cualquiera que quiera una pantalla táctil real en un escritorio, una pared o el frente de una impresora 3D. El hardware es solo la mitad de la historia. La otra mitad es la cadena de herramientas de escritorio que utilizamos para diseñar interfaces, escribir firmware e implementar compilaciones en la placa. A continuación se encuentran las siete herramientas que utilizamos con mayor frecuencia cuando trabajamos en un proyecto CYD, desde el primer píxel que parpadea hasta un panel inteligente perfectamente pulido.
Qué buscar en una herramienta CYD
El CYD es peculiar. Utiliza un controlador de pantalla ILI9341 sobre SPI y un controlador táctil resistivo XPT2046 en un bus SPI separado, y las asignaciones de pines no son las que asumen la mayoría de tutoriales de ESP32. Esto significa que una buena herramienta para el trabajo de CYD tiene algunos rasgos específicos.
- Soporte de LVGL de primera clase, ya que casi todos los proyectos CYD serios utilizan LVGL para la capa gráfica.
- Plantillas de controlador o ejemplos listos para usar para ILI9341 y XPT2046, para que no tengamos que adivinar los números de pines.
- Soporte de Wi-Fi OTA, porque sacar la placa del recinto para programarla se vuelve tedioso rápidamente.
- Una forma limpia de mantener fuentes, imágenes y otros activos en la tarjeta SD en lugar de flash.
- Una gran comunidad de ejemplos de CYD publicados que podemos tomar prestados, ya que el diseño de la placa varía ligeramente entre clones.
Todo lo siguiente obtiene buenos puntos en al menos tres de esos cinco.
Comparación rápida
| Herramienta | Mejor para | Plataformas | Gratuito o de pago | Característica destacada |
|---|---|---|---|---|
| LVGL | La capa gráfica en sí | Windows, macOS, Linux | Gratuito, MIT | Ejecuta el mismo código C en el CYD y en un simulador de escritorio |
| SquareLine Studio | Diseñar interfaces visualmente | Windows, macOS, Linux | Nivel personal gratuito, Pro pagado | Exporta código de proyecto LVGL C limpio |
| PlatformIO | Gestionar compilaciones y bibliotecas | Windows, macOS, Linux | Núcleo gratuito, características Home pagadas | Un platformio.ini maneja placas, dependencias y OTA |
| Arduino IDE 2 | Un primer proyecto CYD | Windows, macOS, Linux | Gratuito | Board Manager encuentra el núcleo ESP32 en dos clics |
| ESP-IDF | Trabajo profundo de firmware y bajo nivel | Windows, macOS, Linux | Gratuito | Acceso completo a controladores Espressif y características RTOS |
| MicroPython | Prototipado rápido en Python | Windows, macOS, Linux | Gratuito | REPL en vivo sobre USB, sin paso de compilación |
| ESPHome | Paneles de control de Home Assistant | Windows, macOS, Linux | Gratuito | La configuración YAML se compila en firmware, sin C requerido |
Las herramientas
1. LVGL – Mejor para la capa gráfica
LVGL (Light and Versatile Graphics Library) es la razón por la que trabajar con CYD es divertido. Nos proporciona botones, controles deslizantes, gráficos, teclados y animaciones que se ven modernas en una pantalla de 320x240, y funciona en casi cualquier microcontrolador con un framebuffer. La versión 9 apretó la huella de la memoria y simplificó las API de controlador de pantalla y entrada, lo que importa en el presupuesto de RAM ajustado de ESP32.
La característica asesina para principiantes es el simulador de escritorio: el mismo código C que impulsa el CYD puede ejecutarse dentro de una ventana SDL en nuestro portátil, por lo que podemos iterar sobre el diseño e interacción sin tocar la placa. Cuando hacemos flash, LVGL encaja perfectamente en proyectos PlatformIO, Arduino y ESP-IDF con el mismo archivo lv_conf.h.
Casi todo lo que es más pulido que una demostración de dos botones en el CYD seguramente usa LVGL bajo el capó.
2. SquareLine Studio – Mejor para diseñar interfaces visualmente
Escribir widgets LVGL a mano está bien para una o dos pantallas. Más allá de eso, queremos un lienzo. SquareLine Studio es un editor de UI de arrastrar y soltar construido específicamente para LVGL: diseñamos pantallas, conectamos manejadores de eventos, elegimos fuentes, soltamos imágenes y luego presionamos exportar para obtener un proyecto LVGL C completo listo para soltar en PlatformIO o Arduino.
El nivel personal gratuito es suficientemente generoso para compilaciones CYD de afición, y hay una plantilla CYD en circulación en la comunidad que siembra la resolución 320x240 correcta y la configuración del controlador ILI9341. El nivel Pro desbloquea pantallas ilimitadas, widgets personalizados y la capacidad de mantener activos en la tarjeta SD, lo que vale la pena si comenzamos a vender proyectos.
El flujo de trabajo que nos funciona: boceta la interfaz en SquareLine, exporta, luego edita manualmente el ui_events.c generado para conectar la lógica de Wi-Fi, sensor o MQTT.
Descargar: Sitio
3. PlatformIO – Mejor para gestionar compilaciones y bibliotecas
Una vez que un proyecto tiene más de un archivo, PlatformIO se justifica. Se ejecuta como una extensión dentro de VS Code (y algunos otros editores) y reemplaza los pasos de compilación ad-hoc que afligen el trabajo de afición con ESP32 con un único platformio.ini que declara la placa, el marco, las bibliotecas y el método de carga.
Para el trabajo de CYD, el patrón es: seleccionar board = esp32dev, agregar LVGL y la biblioteca de pantalla TFT_eSPI o LovyanGFX como lib_deps, y soltar el User_Setup.h correcto en include/ para que los pines coincidan con el cableado de CYD. Desde ahí, un solo clic construye, carga y abre el monitor serie. OTA sobre Wi-Fi es un cambio de una línea en upload_protocol, que es una gran victoria de calidad de vida para placas montadas detrás de un bisel.
Las versiones de las bibliotecas se fijan en el archivo de configuración, por lo que un proyecto que se compiló el año pasado aún se compila este año. Eso no es algo que podamos decir sobre todos los tutoriales de ESP32.
4. Arduino IDE 2 – Mejor para un primer proyecto CYD
Arduino IDE 2 (el lanzamiento estable actual, no el antiguo Java 1.x) es donde la mayoría de las personas comienzan con CYD, y no hay nada de malo en quedarse. Maneja el paquete de placa ESP32 a través de Board Manager, envía un editor rápido basado en Monaco con autocompletado, e tiene monitor serie y trazador integrados.
El navegador de ejemplos es la herramienta de descubrimiento de la mejor clase para principiantes: instala las bibliotecas TFT_eSPI, XPT2046_Touchscreen y LVGL y aparecen docenas de sketches ejecutables en el menú Archivo. La mayoría de tutoriales de CYD en YouTube y GitHub están escritos para Arduino, por lo que seguir es sin fricciones.
Lo elegimos cuando queremos un sketch de archivo único para probar que algo funciona en el hardware, luego portamos a PlatformIO una vez que el proyecto crece.
Descargar: Sitio
5. ESP-IDF – Mejor para trabajo profundo de firmware
Una vez que superamos la abstracción de Arduino, el SDK propio de Espressif nos está esperando. ESP-IDF nos proporciona tareas FreeRTOS, el sistema de componentes completo, gestión profunda de energía, control dual-core y acceso a cada periférico que expone el ESP32. Esto es lo que utilizan los productos enviados.
El compromiso es la verbosidad. Un LED parpadeante es más código que en Arduino, y el controlador de pantalla CYD no está integrado, por lo que traemos el puerto esp_lcd de LVGL o conectamos TFT_eSPI como componente. La recompensa es que una vez que la tubería está en su lugar, podemos hacer cosas que Arduino no puede, como actualizar pantalla con búfer doble con DMA y framebuffers respaldados por PSRAM.
Lo utilizamos cuando el proyecto CYD implica cualquier cosa de trabajo pesado de red (coexistencia BLE + Wi-Fi, malla, TLS), o cuando nos importa el consumo de batería.
6. MicroPython – Mejor para prototipos Python
MicroPython coloca un intérprete de Python 3 en el ESP32 con REPL sobre USB, y cambia cómo hacemos prototipos. Escribe una línea, mira el píxel cambiar en el CYD. Sin compilación, sin ciclo de flash, sin espera.
La historia gráfica es un poco más fragmentada que con LVGL C, pero LVGL en sí envía enlaces de MicroPython, y compilaciones lv_micropython personalizadas para CYD circulan en la comunidad. Para paneles más simples, los controladores st7789py y xpt2046 son suficientes para dibujar texto, sprites y regiones táctiles en unas pocas docenas de líneas.
Lo usamos para enseñanza, juguetes de un solo uso y ese tipo de herramientas internas donde queremos poder SSH en WebREPL y cambiar el comportamiento sin una reconstrucción.
Descargar: Sitio
7. ESPHome – Mejor para paneles de control inteligentes
Si el CYD va a estar en la pared al lado de una instalación de Home Assistant, ESPHome es el camino más corto hacia un panel de control funcional. En lugar de escribir firmware, escribimos un archivo YAML que declara la pantalla, la pantalla táctil, los interruptores, los sensores y las páginas de interfaz. ESPHome lo compila en un binario de firmware y lo programa, luego conecta todo de nuevo a Home Assistant automáticamente.
El CYD tiene soporte de primer nivel en la documentación de ESPHome, incluidas las asignaciones correctas de bus SPI, retroiluminación PWM y consejos de calibración de pantalla táctil. Las configuraciones de la comunidad cubren termostatos, controladores multimedia y paneles de iluminación multiroom, y cualquiera de ellos puede bifurcarse y editarse en el panel de ESPHome a través de un navegador.
Para cualquiera que quiera un panel de control inteligente funcional este fin de semana en lugar de un proyecto de aprendizaje de firmware, esta es la respuesta.
Cómo elegir el correcto
La herramienta correcta depende de a dónde va el CYD y qué tan profundo queremos ir. Alguien que acaba de recoger la placa y quiere ver algo suceder en la pantalla esta noche debe instalar Arduino IDE 2, agregar el núcleo ESP32 y cargar un ejemplo TFT_eSPI. Es la distancia más corta a un píxel funcional.
Para un proyecto con una interfaz real (menús, pantallas, animaciones, teclado), la respuesta es LVGL para renderizado, SquareLine Studio para diseño y PlatformIO para compilación. Ese trío es lo que utilizan la mayoría de proyectos CYD pulidos en GitHub, y es la combinación que recomendamos a cualquiera que hable en serio sobre la placa.
Los desarrolladores de firmware con la vista puesta en enviar un producto deben omitir Arduino e ir directamente a ESP-IDF, luego traer LVGL como componente. Es más configuración, pero elimina el techo.
Los aficionados y educadores centrados en Python logran más en MicroPython, especialmente para talleres infantiles o herramientas internas.
Y si el CYD está destinado a vivir en la pared con Home Assistant detrás, ESPHome omite todo lo anterior y nos permite describir el panel de control en YAML en una tarde.
Preguntas frecuentes
¿Qué es exactamente Cheap Yellow Display? Es el ESP32-2432S028R, un módulo ESP32-WROOM-32 soldado a una placa con una pantalla táctil de 2,8 pulgadas 320x240 (controlador ILI9341, toque resistivo XPT2046), ranura para tarjeta SD, LED RGB, sensor de luz y puerto USB. Se vende por alrededor de ocho a doce dólares en la mayoría de mercados y se hizo con el apodo “Cheap Yellow Display” porque las primeras ejecuciones se enviaron en PCB amarillas.
¿Tengo que usar LVGL, o hay alternativas? LVGL es la opción más popular, pero no la única. TFT_eSPI y LovyanGFX nos proporcionan primitivos rápidos (líneas, formas, sprites, texto) si queremos dibujar la interfaz nosotros mismos. Para medidores y paneles de control simples eso es suficiente. LVGL gana en el momento en que queremos widgets, animación o teclado.
¿Puedo desarrollar para CYD en macOS o Linux?
Sí. Todas las herramientas en este artículo se ejecutan de forma nativa en Windows, macOS y Linux. En Linux puede que necesitemos una regla udev para que nuestra cuenta de usuario pueda comunicarse con el chip CH340 o CP2102 USB-to-serial en la placa, pero la configuración es un paso único.
¿Cómo puedo programar el CYD por Wi-Fi en lugar de USB? PlatformIO, Arduino IDE 2, ESP-IDF y ESPHome todos apoyan actualizaciones OTA. El patrón común es incluir una biblioteca OTA o componente en el firmware, conectar la placa a Wi-Fi y luego establecer el método de carga en la herramienta para que apunte a la dirección IP de la placa. La primera carga es por USB, todo lo demás puede ser inalámbrico.
¿Es SquareLine Studio gratuito para uso de afición? El nivel personal es gratuito y cubre la mayoría de proyectos de afición CYD. Limita cosas como la cantidad de pantallas y resolución de activos, pero el código LVGL exportado no tiene restricciones en tiempo de ejecución. La suscripción Pro desbloquea pantallas ilimitadas, activos de mayor resolución y uso comercial.