EZ32 ESP32JTAG: depuració JTAG sense fil amb analitzador 250 MHz

  • Solució tot en un: JTAG/SWD, analitzador 16ch 250 MHz, UART web i JTAG per a FPGA en un únic equip sense fil.
  • Maquinari potent i obert: ESP32‑S3 dual‑core, 16 MB flaix, 8 MB PSRAM i FPGA; firmware i maquinari open‑source.
  • Integració sense drivers: interfície web per a configuració, OTA, documentació i accés a eines des de qualsevol dispositiu.

Eina JTAG sense fil per a depuració

Si treballes amb microcontroladors, FPGAs o busos sèrie, segurament et soni aquest caos de cables i dongles USB ocupant mitja taula. ESP32JTAG arriba per posar ordre: un únic equip compacte i sense cables que reuneix depuració JTAG/SWD, analitzador lògic de 16 canals a 250 MHz, consola UART i configuració de FPGA, amb tot accessible des del navegador.

El que és interessant no és només que agrupi eines clau, sinó que totes poden funcionar alhora. Depures un MCU, programes una FPGA, analitzes senyals i obris un terminal web en paral·lel, des d'un portàtil, una tauleta o fins i tot el mòbil. Amb el vostre servidor web integrat no hi ha drivers per instal·lar: connecta't per Wi‑Fi, entra a la interfície i posa't a treballar.

Què és ESP32JTAG i per què interessa

ESP32JTAG és una proposta de EZ32 que es defineix com una navalla suïssa per a enginyers i enginyers embeguts. El dispositiu integra funcions de depuració on-chip per a MCUs (JTAG/SWD), suport de desenvolupament per a FPGA (inclòs XVC per a Vivat), analitzador lògic d'alt rendiment i terminal UART amb accés web, tot això en un format diminut que es pot deixar connectat al sistema sota prova.

Davant eines tradicionals tipus ST‑Link o adaptadors JTAG USB bàsics, el salt qualitatiu està en la flexibilitat: sense fil, multipropòsit i orientat a fluxos moderns amb VSCode, PlatformIO, STM32CubeIDE, Arduino IDE o Vivat. A més, és maquinari obert i corre programari obert, amb esquemes, BOM i microprogramari publicats per facilitar auditoria, personalització i millora comunitària.

Arquitectura i components principals

Al cor de l'equip hi ha un mòdul Espressif ESP32‑S3 (veure guia de l'ESP32 Agent Dev Kit) amb CPU de doble nucli (Xtensa LX7) a fins 266 MHz, acompanyat per 16 MB de flaix i 8 MB de PSRAM per manejar trànsit de depuració sense pèrdues, web UI, protocols i buffers de l'analitzador lògic.

El segon pilar és una petita FPGA amb unes 5k portes lògiques i 1 Mbit de RAM, completament governada des de l'ESP32. Aquesta lògica programable permet commutar funcions dels ports, implementar ponts de senyal d'alta velocitat i sostenir el mostreig de l'analitzador sense escanyar la CPU principal.

La connectivitat sense fils depèn de la revisió: hi ha fonts que esmenten Wi‑Fi 6 i Bluetooth 5.0, mentre que altres assenyalen 2,4 GHz 802.11 b/g/n (Wi‑Fi 4) i BLE 5.0. En qualsevol cas, lenfocament és operar sense cables mitjançant una interfície web resident (sobre FreeRTOS i ESP‑IDF) que exposa configuració, actualització OTA, documentació i eines.

El frontal inclou una pantalla LCD de 1,83″ per mostrar IP, estat Wi-Fi i dades del sistema, una cosa molt útil quan l'equip està “penjat” del dispositiu sota test i necessites ubicar-lo a la xarxa d'un cop d'ull.

Pel que fa a format físic, el PCB ronda els 33 × 40 × 5 mm (xifres intercanviables com 40 × 33 × 5 mm segons fitxa), s'alimenta per USB-C i n'ofereix quatre ports configurables de quatre fils on surten els modes JTAG/SWD, UART i analitzador lògic, a més de monitor de tensió objectiu i control de reset.

Placa ESP32JTAG amb pantalla i ports

Depurador MCU potent i sense colls d´ampolla

La part de debug de MCUs no es queda en allò bàsic: funciona amb OpenOCD, GDBServer, Blackmagic Probe i CMSIS‑DAP, per la qual cosa s'integra sense friccions amb els IDEs més habituals (VSCode, STM32CubeIDE, Arduino IDE, PlatformIO…).

Davant de proves econòmics tipus ST‑Link (que solen muntar ARM a 72 MHz amb 128 KB de flaix i 24 KB de RAM), l'ESP32‑S3 a 266 MHz amb 16 MB de flash i 8 MB de PSRAM juga en una altra lliga. Aquest marge de recursos redueix la probabilitat de pèrdua de dades de depuració i permet sostenir sessions exigents mentre corren en paral·lel altres funcions.

La combinació de CPU, memòria i FPGA es tradueix en un flux més fluid: menys bloquejos, menys esperes, i la capacitat de mantenir breakpoints, inspecció de memòria i registre sense que lanalitzador o el terminal web es vegin afectats.

Analitzador lògic: 16 canals a 250 MHz

Un dels reclams és el seu analitzador lògic de 16 canals a 250 MHz, una xifra que supera analitzadors de propòsit únic més cars. Això obre la porta a mostrejar busos com a SPI d'alta velocitat, capturar esdeveniments estrets i cronometrar timings ajustats sense equipament addicional.

La interfície web de l'analitzador permet configurar canals, llançar captures des del navegador i revisar formes d'ona sense instal·lar programari descriptori. És ideal per validar protocols, comprovar latències o caçar glitches mentre segueixes depurant firmware.

Web Interface for the Logic Analyzer

Des del panell web pots ajustar llindars, temps i triggers bàsics, així com descarregar captures per a la seva anàlisi posterior. L'avantatge pràctic és que no depens de drivers al host ni de llicències propietàries.

Operació sense fils i sense drivers

El servidor HTTP integrat allibera d'instal·lar paquets: encén, connecta't per Wi‑Fi i entra a la UI. Aquí mateix trobes ajustaments del sistema, actualització de firmware, accés a documentació i utilitats (WebUART, analitzador, configuració de ports…).

En connectivitat se citen tant Wi‑Fi 6 com 2,4 GHz 802.11 b/g/n (Wi‑Fi 4) segons la font i la iteració de maquinari, sempre amb Bluetooth 5.0 BLE. Per cable, queda l'USB-C que aporta alimentació i programació quan escau.

Terminal web

La consola UART accessible des del navegador substitueix moltes sessions de monitor en sèrie tradicionals. Sense cables addicionals ni emuladors virtuals, podeu veure logs, enviar ordres i deixar l'eina fixada de forma permanent al dispositiu objectiu.

Suport per a FPGA i fluxos de treball

ESP32JTAG també cobreix el costat de les FPGAs: ofereix JTAG per a programació i depuració, és compatible amb openFPGALoader i amb XVC (Xilinx Virtual Cable) per integrar-se amb Vivat. Així es poden aixecar fluxos híbrids MCU+FPGA des d'un únic aparell.

VSCode & Vivado – depura el MCU mentre iteres la FPGA

Un escenari típic: mentre fas iteracions a la lògica de la FPGA amb Vivat via XVC, mantenes el MCU baix OpenOCD o Blackmagic, i si necessites correlacionar esdeveniments, dispares l'analitzador lògic per veure què ha passat a les línies crítiques.

Maneres suportades i I/O

Resumint modes i ports: depuració JTAG/SWD per a MCUs (OpenOCD, Blackmagic Probe, CMSIS‑DAP), JTAG per a FPGA amb openFPGALoader i XVC, UART amb WebUART/WebTerminal i analitzador lògic de 16 canals. A més, monitoritza la tensió de l'objectiu i permet controlar reset.

Els quatre connectors de quatre fils s'assignen als diferents rols segons la necessitat, amb la FPGA encarregant-se de multiplexar i sostenir els senyals dalta velocitat quan toca. El disseny cerca simplificar cablejats i reduir el nombre d'adaptadors a taula.

Obert per dins: maquinari i firmware

La filosofia del projecte és oberta: es publicaran esquemes, PCB i BOM abans del tancament de producció, i el firmware es recolza en ESP‑IDF i FreeRTOS, integrant peces com openocd-on-esp32, blackmagic-debug, CMSIS-DAP (DAPLink) i openFPGALoader.

A més de la documentació al propi dispositiu, hi haurà guies ràpides en PDF, tutorials en vídeo en preparació i un canal de comunitat (Discord i GitHub) per al seguiment d'incidències i contribucions.

Comparatives i rendiment pràctic

Davant d'un ST‑Link clàssic oa analitzadors tipus Saleae, la proposta destaca per unir diverses funcions amb recursos de maquinari més folgats. Aquest extra de CPU, RAM i suport a FPGA ajuda a evitar caigudes de captura, bloquejos de la interfície o pèrdues de paquets durant sessions prolongades.

També cobra importància la portabilitat: en ser petit i alimentar-se per USB‑C, es pot deixar integrat al banc de proves o dins de la carcassa d'un prototip, amb el plus de la pantalla per localitzar-lo a la xarxa sense connectar un host.

Estat del maquinari, fabricació i empaquetat

L'equip ha passat per la revisió de maquinari v1.3 i treballa a la v1.4, enfocada a millorar RF Wi‑Fi, la carcassa i detalls d´acabat superficial. La idea és que v1.4 sigui molt propera a la unitat de producció.

La fabricació anirà a càrrec d´una casa d´assemblatge de PCBs amb experiència en productes basats en ESP32. Totes les plaques es testejaran en funcionalitat (connectivitat sense fil, validació d'I/O i verificació del LCD) abans del seu empaquetat.

A packaging se seguirà l'estàndard d'electrònica de consum: caixa de retail amb insercions protectores, unitat principal en bossa antiestàtica i accessoris en poliborses. Els enviaments es canalitzaran a través del magatzem de Mouser per a distribució mundial.

Certificacions, disponibilitat de components i maduresa de firmware

En compliment i regulatòria, es preveu certificació FCC primer, seguida de CE i UKCA. L‟ús d‟un mòdul ESP32‑S3 precertificat accelera part del procés, si bé la certificació final del producte complet pot introduir terminis.

Pel que fa a subministraments, l'elecció d'un ESP32-S3 i components estàndard cerca mitigar riscos per disponibilitat global. A nivell de programari, les funcions nucli estan operatives, amb proves i documentació ampliant-se; en ser obert, la comunitat pot ajudar a polir bugs i afegir funcions amb rapidesa.

Preu, campanya i logística

ESP32JTAG està disponible en prevenda a Crowd Supply per 139 dòlars, amb enviament gratuït als EUA i 12 dòlars a la resta del món. La campanya va superar el seu objectiu de finançament i romandrà oberta fins al 4 de desembre del 2025, amb lliuraments previstos des del 14 de febrer del 2026.

La logística es realitza a través de la xarxa de Mouser, cosa que facilita seguiment i fiabilitat en els enviaments a nivell global. El compliment i la gestió de comandes s'ajusten al servei habitual de la plataforma.

Interfície web: configuració, OTA i documentació integrada

La UI embeguda ofereix configuració del sistema, mapeig de ports, opcions de xarxa i accés a actualització de firmware OTA. També centralitza la documentació perquè no depenguis de manuals locals.

Des del navegador podeu alternar entre el terminal web, l'analitzador de senyals, panells d'estat i àrees de diagnòstic amb mètriques internes, cosa que agilitza la resolució de problemes sense saltar entre aplicacions.

Notes sobre connectivitat: Wi‑Fi i Bluetooth

Segons diferents fonts, la connectivitat Wi‑Fi es pot referir a 802.11 b/g/n (Wi‑Fi 4) oa Wi-Fi 6 en algunes iteracions. En tots els casos es menciona Bluetooth 5.0 BLE. Beyond wireless, sempre queda l'USB-C per a alimentació i, quan escau, programació.

Documentació d'Espressif: OpenOCD i GDB a l'ecosistema ESP32

Si us mou en entorns ESP‑IDF, us sonarà la guia oficial d'Espressif per instal·lar OpenOCD i depurar amb GDB. Aquí s'explica com es relacionen xtensa‑esp32‑elf‑gdb, OpenOCD i la interfície JTAG per depurar, així com la part de compilació, càrrega daplicació i monitoritzat.

Per triar adaptador JTAG, recomanen compatibilitat de nivells (3,3 V típics a ESP32), i recorden que el port JTAG estàndard de l'ESP32 no inclou TRST. La senyalització mínima per enllaçar és TDI, TDO, TCK, TMS i GND, amb possible línia Vtar per fixar tensió i SRST opcional contra CH_PD. Adverteixen també que ESP32 no suporta SWD, encara que ESP32JTAG sí que brinda SWD per a altres famílies de MCUs.

A la instal·lació d'OpenOCD, convé verificar que l'entorn d'ESP‑IDF està ben carregat i que la variable OPENOCD_SCRIPTS apunta als scripts de configuració. Si hi ha errors de permisos a Linux/macOS, cal revisar la delegació de permisos segons el README del propi paquet.

Per arrencar OpenOCD amb un board concret, es passen els arxius de configuració adequats (la ruta sol estar recollida a build/project_description.json sota el camp debug_arguments_openocd). Davant de missatges de “Can't find board/…cfg”, revisar OPENOCD_SCRIPTS i que el fitxer existeixi realment on s'indica.

La guia descriu també opcions de càrrega via JTAG amb l'ordre program_cat (arxiu, òfset, verify, reset, èxit, compress, encrypt, no_clock_boost, restore_clock) i recomana provar primer des de línia d'ordres amb GDB abans de passar a IDEs com Eclipse o VSCode.

En depuració, es llisten exemples de navegació per codi, call stack i fils, breakpoints (inclosos condicionals), stepping, lectura/escriptura de memòria i observació de variables. Per compilar OpenOCD des de fonts es detallen rutes de binaris (src/openocd) i configuració de scripts segons el sistema operatiu.

Alternatives, ecosistema i context de mercat

Hi ha eines relacionades que complementen o solapen funcions: per exemple, WiSer per a enllaços P2P sense fil, o USB‑Cereal per a proves de dispositius amb USB‑C. També s'ha assenyalat la semblança de maquinari entre ESP32JTAG i la placa LILYGO T-FPGA (ESP32-S3 + FPGA GW1N), encara que la marca de FPGA a ESP32JTAG no està confirmada oficialment.

Com a depuradors externs, segueixen aquí els coneguts ST‑Link per a STM32 o el ESP‑Prog d'Espressif per enllaçar a les línies JTAG de l'ESP32, i en analitzadors lògics, els models d'estil Saleae. La diferència clau és que ESP32JTAG concentra diverses funcions alhora i ho fa sense cable USB al host.

Si mires aparadors online, no falten comparadors i formularis del tipus “has vist un preu més baix?”. Moltes botigues usen aquestes enquestes per mantenir les seves tarifes competitives, encara que no sempre puguin igualar totes les ofertes que reben.

Especificacions tècniques destacades

  • processador: Dual‑core ESP32‑S3 fins a 266 MHz
  • memòria: 16 MB Flash, 8 MB PSRAM
  • Connectivitat: Wi‑Fi (segons font, Wi‑Fi 4 o Wi‑Fi 6), Bluetooth 5.0, USB‑C
  • pantalla: LCD 1,83″ per a IP, estat Wi‑Fi i info del sistema
  • FPGA: ~5k portes lògiques, 1 Mbit RAM, configurable des de l'ESP32
  • I / O: Quatre ports configurables de 4 fils
  • Sistema: FreeRTOS sobre ESP‑IDF
  • dimensions: 33 × 40 × 5 mm (placa)
  • Maneres suportades: MCU JTAG/SWD (OpenOCD, Blackmagic, CMSIS‑DAP), JTAG per a FPGA (openFPGALoader, XVC/Vivado), UART amb WebUART, analitzador lògic 16ch, monitor de tensió i reset
  • distribució: Mouser a nivell mundial; empaquetat amb bossa antiestàtica i proteccions

Documentació, suport i full de ruta

EZ32 publica un panell web amb guies d'ús i actualitzacions, treballa en un Quick‑start en PDF i vídeos d'exemple (STM32, Raspberry Pi Pico i ESP32). A la campanya s'anuncien comparatives amb altres eines i notícies sobre certificacions i producció.

Per a suport comunitari, s'ofereix un Discòrdia i un repositori GitHub on reportar issues. També s'ha promès alliberar més materials de maquinari amb llicència oberta (encara especificar).

esp32 agent dev kit
Article relacionat:
Explorant l'ESP32 Agent Dev Kit: La guia més completa