How to upgrade esptool to 2.8

How do I upgrade the toolchain to use esptool 2.8.
Everytime I compile
PackageManager: Installing tool-esptoolpy @ ~1.20600.0
tool-esptoolpy @ 1.20600.0 has been successfully installed!

esptoolpy 1.20600 is installed. I have searched and can not find where this is coded. I delete the esptoolpy 1.20600 folder and compile again but PackageManager reinstalls it.
How do I tell PackageManager to install tool-esptoolpy @ 1.20800 ?


Is there anything which doesn’t work with the current esptool version?

The 1.20600.0 comes from PIO’s software repositories and is not directly the esptool repository version. Here I’m assuming the underlying version is 2.6 (from 1.20600.0)

The tools and repositories for them are defined in the paltform’s platform.json file, e.g. here platform-espressif8266/platform.json at develop · platformio/platform-espressif8266 · GitHub.

Given that version 1.20800.0 already exists (see you may also use an override directive as seen in docs, you could do

platform_packages =

in the platformio.ini

Thanks for the quick reply. I was able to force platform_packages =
tool-esptoolpy@1.20800.0 But I still have my original problem. Errors why uploading code to D1-mini and a DOIT esp32 board.
I also tried slowing the speed to 115200 but that did not fix the issues either.
I can get it to work some times like 1 in 5 tries it will work. Very frustrating.
The error output is below. Any suggestions you have will be appreciated.

Configuring upload protocol...
AVAILABLE: esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: COM4
Uploading .pio\build\esp32eSPIDOIT\firmware.bin v2.8
Serial port COM4
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:6f:28:9e:a6:54
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Warning: Could not auto-detect Flash size (FlashID=0xffffff, SizeID=0xff), defaulting to 4MB
Compressed 15872 bytes to 10319...

A fatal error occurred: Timed out waiting for packet content
*** [upload] Error 2
============================================================ [FAILED] Took 11.24 seconds ============================================================

Environment         Status    Duration
------------------  --------  ------------
esp32eSPIDOIT       FAILED    00:00:11.238
esp32dev            IGNORED
======================================================= 1 failed, 0 succeeded in 00:00:11.238 =======================================================
The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

I have exactly the same problem. I need to use esptool 3.1-dev to fix a linker error related to the ESP32-S2 and the Arduino framework.

However the link appears now to be Forbidden to access.
Is there any way to use esptool 3.1-dev without relying on the platformio distro?

Bintray was shut down long ago (bintray closed / got ‘sun-set’), now one has to access the API manually (Make package registry searchable in the CLI or GUI · Issue #3836 · platformio/platformio-core · GitHub), so e.g. for versions (which is different to the older tool-esptool for ESP8266 btw). There the latest official version is 1.30100.210531, so an expression like

platform_packages =

(~ meaning the last number [=datecode] is ignored) in teh platformio.ini will give you that 3.1 version. BUt if you need the latest-latest version, you need to provide the package yourself, usually done by forking the repo, adding a package.json to it (akin to <home path>\.platformio\packages\tool-esptoolpy\package.json but with update version field) and then pointing to it via @<git link>.

1 Like