EZ32 ESP32JTAG: depuración JTAG inalámbrica con analizador 250 MHz

  • Solución todo en uno: JTAG/SWD, analizador 16ch 250 MHz, UART web y JTAG para FPGA en un único equipo inalámbrico.
  • Hardware potente y abierto: ESP32‑S3 dual‑core, 16 MB flash, 8 MB PSRAM y FPGA; firmware y hardware open‑source.
  • Integración sin drivers: interfaz web para configuración, OTA, documentación y acceso a herramientas desde cualquier dispositivo.

Herramienta JTAG inalámbrica para depuración

Si trabajas con microcontroladores, FPGAs o buses serie, seguramente te suene ese caos de cables y dongles USB ocupando media mesa. ESP32JTAG llega para poner orden: un único equipo compacto y sin cables que reúne depuración JTAG/SWD, analizador lógico de 16 canales a 250 MHz, consola UART y configuración de FPGA, con todo accesible desde el navegador.

Lo interesante no es solo que agrupe herramientas clave, sino que todas pueden funcionar a la vez. Depuras un MCU, programas una FPGA, analizas señales y abres un terminal web en paralelo, desde un portátil, una tablet o incluso el móvil. Con su servidor web integrado no hay drivers que instalar: conéctate por Wi‑Fi, entra a la interfaz y ponte a trabajar.

Qué es ESP32JTAG y por qué interesa

ESP32JTAG es una propuesta de EZ32 que se define como una navaja suiza para ingenieras e ingenieros embebidos. El dispositivo integra funciones de depuración on‑chip para MCUs (JTAG/SWD), soporte de desarrollo para FPGA (incluido XVC para Vivado), analizador lógico de alto rendimiento y terminal UART con acceso web, todo ello en un formato diminuto que se puede dejar conectado al sistema bajo prueba.

Frente a herramientas tradicionales tipo ST‑Link o adaptadores JTAG USB básicos, el salto cualitativo está en la flexibilidad: inalámbrico, multipropósito y orientado a flujos modernos con VSCode, PlatformIO, STM32CubeIDE, Arduino IDE o Vivado. Además, es hardware abierto y corre software abierto, con esquemas, BOM y firmware publicados para facilitar auditoría, personalización y mejora comunitaria.

Arquitectura y componentes principales

En el corazón del equipo hay un módulo Espressif ESP32‑S3 (ver guía del ESP32 Agent Dev Kit) con CPU de doble núcleo (Xtensa LX7) a hasta 266 MHz, acompañado por 16 MB de flash y 8 MB de PSRAM para manejar tráfico de depuración sin pérdidas, web UI, protocolos y buffers del analizador lógico.

El segundo pilar es una pequeña FPGA con unas 5k puertas lógicas y 1 Mbit de RAM, completamente gobernada desde el ESP32. Esta lógica programable permite conmutar funciones de los puertos, implementar puentes de señal de alta velocidad y sostener el muestreo del analizador sin estrangular la CPU principal.

La conectividad inalámbrica depende de la revisión: hay fuentes que mencionan Wi‑Fi 6 y Bluetooth 5.0, mientras que otras señalan 2,4 GHz 802.11 b/g/n (Wi‑Fi 4) y BLE 5.0. En cualquier caso, el enfoque es operar sin cables mediante una interfaz web residente (sobre FreeRTOS y ESP‑IDF) que expone configuración, actualización OTA, documentación y herramientas.

El frontal incluye una pantalla LCD de 1,83″ para mostrar IP, estado Wi‑Fi y datos del sistema, algo muy útil cuando el equipo está “colgado” del dispositivo bajo test y necesitas ubicarlo en la red de un vistazo.

En cuanto a formato físico, el PCB ronda los 33 × 40 × 5 mm (cifras intercambiables como 40 × 33 × 5 mm según ficha), se alimenta por USB‑C y ofrece cuatro puertos configurables de cuatro hilos donde salen los modos JTAG/SWD, UART y analizador lógico, además de monitor de tensión objetivo y control de reset.

Placa ESP32JTAG con pantalla y puertos

Depurador MCU potente y sin cuellos de botella

La parte de debug de MCUs no se queda en lo básico: funciona con OpenOCD, GDBServer, Blackmagic Probe y CMSIS‑DAP, por lo que se integra sin fricciones con los IDEs más habituales (VSCode, STM32CubeIDE, Arduino IDE, PlatformIO…).

Frente a probes económicos tipo ST‑Link (que suelen montar ARM a 72 MHz con 128 KB de flash y 24 KB de RAM), el ESP32‑S3 a 266 MHz con 16 MB de flash y 8 MB de PSRAM juega en otra liga. Este margen de recursos reduce la probabilidad de pérdida de datos de depuración y permite sostener sesiones exigentes mientras corren en paralelo otras funciones.

La combinación de CPU, memoria y FPGA se traduce en un flujo más fluido: menos bloqueos, menos esperas, y la capacidad de mantener breakpoints, inspección de memoria y registro sin que el analizador o el terminal web se vean afectados.

Analizador lógico: 16 canales a 250 MHz

Uno de los reclamos es su analizador lógico de 16 canales a 250 MHz, una cifra que supera a analizadores de propósito único más caros. Esto abre la puerta a muestrear buses como SPI de alta velocidad, capturar eventos estrechos y cronometrar timings ajustados sin equipamiento adicional.

La interfaz web del analizador permite configurar canales, lanzar capturas desde el navegador y revisar formas de onda sin instalar software de escritorio. Es ideal para validar protocolos, comprobar latencias o cazar glitches mientras sigues depurando firmware.

Web Interface for the Logic Analyzer

Desde el panel web puedes ajustar umbrales, tiempos y triggers básicos, así como descargar capturas para su análisis posterior. La ventaja práctica es que no dependes de drivers en el host ni de licencias propietarias.

Operación inalámbrica y sin drivers

El servidor HTTP integrado libera de instalar paquetes: enciende, conéctate por Wi‑Fi y entra a la UI. Ahí mismo encuentras ajustes del sistema, actualización de firmware, acceso a documentación y utilidades (WebUART, analizador, configuración de puertos…).

En conectividad se citan tanto Wi‑Fi 6 como 2,4 GHz 802.11 b/g/n (Wi‑Fi 4) según la fuente y la iteración de hardware, siempre con Bluetooth 5.0 BLE. Para cable, queda el USB‑C que aporta alimentación y programación cuando procede.

Web Terminal

La consola UART accesible desde el navegador sustituye a muchas sesiones de serial monitor tradicionales. Sin cables adicionales ni emuladores virtuales, puedes ver logs, enviar comandos y dejar la herramienta fijada de forma permanente al dispositivo objetivo.

Soporte para FPGA y flujos de trabajo

ESP32JTAG también cubre el lado de las FPGAs: ofrece JTAG para programación y depuración, es compatible con openFPGALoader y con XVC (Xilinx Virtual Cable) para integrarse con Vivado. Así se pueden levantar flujos híbridos MCU+FPGA desde un único aparato.

VSCode & Vivado – depura el MCU mientras iteras la FPGA

Un escenario típico: mientras haces iteraciones en la lógica de la FPGA con Vivado vía XVC, mantienes el MCU bajo OpenOCD o Blackmagic, y si necesitas correlacionar eventos, disparas el analizador lógico para ver qué ha pasado en las líneas críticas.

Modos soportados e I/O

Resumiendo modos y puertos: depuración JTAG/SWD para MCUs (OpenOCD, Blackmagic Probe, CMSIS‑DAP), JTAG para FPGA con openFPGALoader y XVC, UART con WebUART/WebTerminal y analizador lógico de 16 canales. Además, monitoriza tensión del objetivo y permite controlar reset.

Los cuatro conectores de cuatro hilos se asignan a los distintos roles según necesidad, con la FPGA encargándose de multiplexar y sostener las señales de alta velocidad cuando toca. El diseño busca simplificar cableados y reducir el número de adaptadores en la mesa.

Abierto por dentro: hardware y firmware

La filosofía del proyecto es abierta: se publicarán esquemas, PCB y BOM antes del cierre de producción, y el firmware se apoya en ESP‑IDF y FreeRTOS, integrando piezas como openocd‑on‑esp32, blackmagic‑debug, CMSIS‑DAP (DAPLink) y openFPGALoader.

Además de la documentación en el propio dispositivo, habrá guías rápidas en PDF, tutoriales en vídeo en preparación y un canal de comunidad (Discord y GitHub) para seguimiento de incidencias y contribuciones.

Comparativas y rendimiento práctico

Frente a un ST‑Link clásico o a analizadores tipo Saleae, la propuesta destaca por aunar varias funciones con recursos de hardware más holgados. Este extra de CPU, RAM y apoyo en FPGA ayuda a evitar caídas de captura, bloqueos del interfaz o pérdidas de paquetes durante sesiones prolongadas.

También cobra importancia la portabilidad: al ser pequeño y alimentarse por USB‑C, se puede dejar integrado en el banco de pruebas o dentro de la carcasa de un prototipo, con el plus de la pantalla para localizarlo en la red sin conectar un host.

Estado del hardware, fabricación y empaquetado

El equipo ha pasado por la revisión de hardware v1.3 y trabaja en la v1.4, enfocada en mejorar RF Wi‑Fi, la carcasa y detalles de acabado superficial. La idea es que v1.4 sea muy próxima a la unidad de producción.

La fabricación correrá a cargo de una casa de ensamblaje de PCBs con experiencia en productos basados en ESP32. Todas las placas se testearán en funcionalidad (conectividad inalámbrica, validación de I/O y verificación del LCD) antes de su empaquetado.

En packaging se seguirá el estándar de electrónica de consumo: caja de retail con inserciones protectoras, unidad principal en bolsa antiestática y accesorios en polibolsas. Los envíos se canalizarán a través del almacén de Mouser para distribución mundial.

Certificaciones, disponibilidad de componentes y madurez de firmware

En cumplimiento y regulatoria, se prevé certificación FCC primero, seguida de CE y UKCA. El uso de un módulo ESP32‑S3 precertificado acelera parte del proceso, si bien la certificación final del producto completo puede introducir plazos.

Respecto a suministros, la elección de un ESP32‑S3 y componentes estándar busca mitigar riesgos por disponibilidad global. A nivel de software, las funciones núcleo están operativas, con pruebas y documentación ampliándose; al ser abierto, la comunidad puede ayudar a pulir bugs y añadir funciones con rapidez.

Precio, campaña y logística

ESP32JTAG está disponible en preventa en Crowd Supply por 139 dólares, con envío gratuito a EE. UU. y 12 dólares al resto del mundo. La campaña superó su objetivo de financiación y permanecerá abierta hasta el 4 de diciembre de 2025, con entregas previstas desde el 14 de febrero de 2026.

La logística se realiza a través de la red de Mouser, lo que facilita seguimiento y fiabilidad en los envíos a nivel global. El cumplimiento y la gestión de pedidos se ajustan a su servicio habitual de la plataforma.

Interfaz web: configuración, OTA y documentación integrada

La UI embebida ofrece configuración del sistema, mapeo de puertos, opciones de red y acceso a actualización de firmware OTA. También centraliza la documentación para que no dependas de manuales locales.

Desde el navegador puedes alternar entre el terminal web, el analizador de señales, paneles de estado y áreas de diagnóstico con métricas internas, lo que agiliza la resolución de problemas sin saltar entre aplicaciones.

Notas sobre conectividad: Wi‑Fi y Bluetooth

Según distintas fuentes, la conectividad Wi‑Fi puede referirse a 802.11 b/g/n (Wi‑Fi 4) o a Wi‑Fi 6 en algunas iteraciones. En todos los casos se menciona Bluetooth 5.0 BLE. Beyond wireless, siempre queda el USB‑C para alimentación y, cuando procede, programación.

Documentación de Espressif: OpenOCD y GDB en el ecosistema ESP32

Si te mueves en entornos ESP‑IDF, te sonará la guía oficial de Espressif para instalar OpenOCD y depurar con GDB. Ahí se explica cómo se relacionan xtensa‑esp32‑elf‑gdb, OpenOCD y la interfaz JTAG para depurar, así como la parte de compilación, carga de aplicación y monitorizado.

Para elegir adaptador JTAG, recomiendan compatibilidad de niveles (3,3 V típicos en ESP32), y recuerdan que el puerto JTAG estándar del ESP32 no incluye TRST. La señalización mínima para enlazar es TDI, TDO, TCK, TMS y GND, con posible línea Vtar para fijar tensión y SRST opcional contra CH_PD. Advierten también que ESP32 no soporta SWD, aunque ESP32JTAG sí brinda SWD para otras familias de MCUs.

En la instalación de OpenOCD, conviene verificar que el entorno de ESP‑IDF está bien cargado y que la variable OPENOCD_SCRIPTS apunta a los scripts de configuración. Si hay errores de permisos en Linux/macOS, se debe revisar la delegación de permisos según el README del propio paquete.

Para arrancar OpenOCD con un board concreto, se pasan los archivos de configuración adecuados (la ruta suele estar recogida en build/project_description.json bajo el campo debug_arguments_openocd). Ante mensajes de “Can’t find board/…cfg”, revisar OPENOCD_SCRIPTS y que el fichero exista realmente donde se indica.

La guía describe también opciones de carga vía JTAG con el comando program_esp (archivo, offset, verify, reset, exit, compress, encrypt, no_clock_boost, restore_clock) y recomienda probar primero desde línea de comandos con GDB antes de pasar a IDEs como Eclipse o VSCode.

En depuración, se listan ejemplos de navegación por código, call stack y hilos, breakpoints (incluidos condicionales), stepping, lectura/escritura de memoria y observación de variables. Para compilar OpenOCD desde fuentes se detallan rutas de binarios (src/openocd) y configuración de scripts según sistema operativo.

Alternativas, ecosistema y contexto de mercado

Existen herramientas relacionadas que complementan o solapan funciones: por ejemplo, WiSer para enlaces P2P inalámbricos, o USB‑Cereal para pruebas de dispositivos con USB‑C. También se ha señalado el parecido de hardware entre ESP32JTAG y la placa LILYGO T‑FPGA (ESP32‑S3 + FPGA GW1N), aunque la marca de FPGA en ESP32JTAG no está confirmada oficialmente.

Como depuradores externos, siguen ahí los conocidos ST‑Link para STM32 o el ESP‑Prog de Espressif para enlazar a las líneas JTAG del ESP32, y en analizadores lógicos, los modelos estilo Saleae. La diferencia clave es que ESP32JTAG concentra varias funciones a la vez y lo hace sin cable USB al host.

Si miras escaparates online, no faltan comparadores y formularios del tipo “¿has visto un precio más bajo?”. Muchas tiendas usan estas encuestas para mantener sus tarifas competitivas, aunque no siempre puedan igualar todas las ofertas que reciben.

Especificaciones técnicas destacadas

  • Procesador: Dual‑core ESP32‑S3 hasta 266 MHz
  • Memoria: 16 MB Flash, 8 MB PSRAM
  • Conectividad: Wi‑Fi (según fuente, Wi‑Fi 4 o Wi‑Fi 6), Bluetooth 5.0, USB‑C
  • Pantalla: LCD 1,83″ para IP, estado Wi‑Fi e info del sistema
  • FPGA: ~5k puertas lógicas, 1 Mbit RAM, configurable desde el ESP32
  • I/O: Cuatro puertos configurables de 4 hilos
  • Sistema: FreeRTOS sobre ESP‑IDF
  • Dimensiones: 33 × 40 × 5 mm (placa)
  • Modos soportados: MCU JTAG/SWD (OpenOCD, Blackmagic, CMSIS‑DAP), JTAG para FPGA (openFPGALoader, XVC/Vivado), UART con WebUART, analizador lógico 16ch, monitor de tensión y reset
  • Distribución: Mouser a nivel mundial; empaquetado con bolsa antiestática y protecciones

Documentación, soporte y hoja de ruta

EZ32 publica un panel web con guías de uso y actualizaciones, trabaja en un Quick‑start en PDF y vídeos de ejemplo (STM32, Raspberry Pi Pico y ESP32). En la campaña se anuncian comparativas con otras herramientas y noticias sobre certificaciones y producción.

Para soporte comunitario, se ofrece un Discord y un repositorio GitHub donde reportar issues. También se ha prometido liberar más materiales de hardware con licencia abierta (aún por especificar).

esp32 agent dev kit
Artículo relacionado:
Explorando el ESP32 Agent Dev Kit: La guía más completa