Page 1 of 1

Esp32c3 devkit-M with Jlink Plus

Posted: Thu Nov 27, 2025 8:38 am
by fabiocas
Hi all,

I'm trying to connect my esp32c3 mini devkit m1 to development board with external jtag interface Jlink Plus. I succesfully managed to connect built USB/JTAG interface via pin header J3. Now i'm triyng with external JTAG segger JLINK , here's the connection scheme :

JTAG flat cable ------> Devkit Header J3
GND (4) ------> GND pin 15
TMS (7) ------> GPIO4
TDI (5) ------> GPIO5
TCK (9) ------> GPIO6
TDO (13) ------> GPIO7

Vtref (1) ------> 3,3 V pin 1 Header J1


I'm using Visual Studio Code with ESP IDF extension, i installed winUsb drivers with zadig , and configured openocd in this way:
" idf.OpenOcdConfigs": [
"target/esp32c3.cfg",
"interface/jlink.cfg ]


Gives me the following error, cannot scan jtag target microcontroller:

Open On-Chip Debugger v0.12.0-esp32-20240821 (2024-08-21-14:45)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
jtag
adapter speed: 1000 kHz
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet
connections
Info : J-Link V10 compiled Jan 30 2023 11:28:07
Info : Hardware version: 10.10
Info : VTarget = 0.000 V
Info : clock speed 1000 kHz
Warn : There are no enabled taps. AUTO PROBING MIGHT NOT WORK!!
❌ Error: JTAG scan
❌ chain interrogation failed: all ones

Seems like JLINK plus has been correctly seen , but cannot detect Vtarget and scan JTAG target, i checked the Vtref PIn is connected to 3,3V og J1 in the demoboard. What could be wrong? Also also tried to lower the communication speed of the JTAG to make it more stable but nothing happened.
Has anyone succeded in using external jtag with esp32c3?

Re: Esp32c3 devkit-M with Jlink Plus

Posted: Thu Nov 27, 2025 9:26 am
by Sprite
By default, the C3 doesn't use pad jtag. You need to blow an efuse to change that.

Re: Esp32c3 devkit-M with Jlink Plus

Posted: Mon Dec 01, 2025 9:49 am
by fabiocas
Hello , thanks for the reply, i read the fuse values , seems like JTAG is enabled or am i missing something ? do you see something wrong with these settings?

Jtag fuses:
SOFT_DIS_JTAG (BLOCK0) Set these bits to disable JTAG in the soft way (od = 0 R/W (0b000)
d number 1 means disable ). JTAG can be enabled in
HMAC module
DIS_PAD_JTAG (BLOCK0) Set this bit to disable JTAG in the hard way. JTAG = False R/W (0b0)
is disabled permanently

Usb fuses:
DIS_USB_JTAG (BLOCK0) Set this bit to disable function of usb switch to = False R/W (0b0)
jtag in module of usb device
DIS_USB_SERIAL_JTAG (BLOCK0) USB-Serial-JTAG = Enable R/W (0b0)
USB_EXCHG_PINS (BLOCK0) Set this bit to exchange USB D+ and D- pins = False R/W (0b0)
DIS_USB_SERIAL_JTAG_ROM_PRINT (BLOCK0) USB printing = Enable R/W (0b0)
DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE (BLOCK0) Disable UART download mode through USB-Serial-JTAG = False R/W (0b0)

Re: Esp32c3 devkit-M with Jlink Plus

Posted: Mon Dec 01, 2025 10:05 am
by Sprite
DIS_USB_JTAG needs to be 1, see here for more info.