Manufacturing Flash via JTAG

Shawn Lord
Posts: 1
Joined: Thu Oct 30, 2025 5:30 pm

Manufacturing Flash via JTAG

Postby Shawn Lord » Thu Oct 30, 2025 5:37 pm

Does ESP have any documentation or tools for using the JTAG interface for factory flashing of the module. Specifically the ESP32s3 WROOM module. I am looking into this as a way to speed up programming time at the factory. Since JTAG is a clocked protocol theoretically it should be able to reach faster transfer times for code transfer. However I see no documentation that esptool supports flashing over JTAG.

Thanks,
Shawn

Sprite
Espressif staff
Espressif staff
Posts: 10596
Joined: Thu Nov 26, 2015 4:08 am

Re: Manufacturing Flash via JTAG

Postby Sprite » Sat Nov 01, 2025 2:32 am

esptool does not support that, it's usually OpenOCD that's used for JTAG. Note that JTAG isn't usable out of the box like that, though: normally, JTAG is routed to the built-in USB-serial-JTAG converter, and you'd need to blow a fuse (via the serial port, usually) to get GPIO JTAG to work.

(In my experience, if you use either UART at a relatively high clock speed or USB, most of the bottleneck wrt writing flash actually is in the erase/write speed of the flash rather than the transport mechanism, by the way.)

username
Posts: 593
Joined: Thu May 03, 2018 1:18 pm

Re: Manufacturing Flash via JTAG

Postby username » Sat Nov 01, 2025 4:51 am

We just use a ESP32-S3 with 16MB of flash, and have 8MB set apart for NVS storage that is loaded with the production firmware.
Then use a USB-C male to male cable from it to the production product to flash it. Just takes a few seconds.
We also made the programmer so that when its powered up if it detects it's plugged into a PC it acts like a portable hard drive.
So you can just simply drag your .bin files to it.

username
Posts: 593
Joined: Thu May 03, 2018 1:18 pm

Re: Manufacturing Flash via JTAG

Postby username » Sat Nov 01, 2025 4:52 am

We just use a ESP32-S3 with 16MB of flash, and have 8MB set apart for NVS storage that is loaded with the production firmware.
Then use a USB-C male to male cable from it to the production product to flash it. Just takes a few seconds.
We also made the programmer so that when its powered up if it detects it's plugged into a PC it acts like a portable hard drive.
So you can just simply drag your .bin files to it.

Who is online

Users browsing this forum: Baidu [Spider], meta-externalagent, PetalBot and 9 guests