Downloading esp32 3.3.5 fails

Downloading packages
esp32:esp32-arduino-libs@idf-release_v5.5-9bb7aa84-v2
esp32:esp-x32@2511
esp32:xtensa-esp-elf-gdb@16.3_20250913
esp32:esp-rv32@2511
Failed to install platform: 'esp32:esp32:3.3.5'.
Error: 4 DEADLINE_EXCEEDED: net/http: request canceled (Client.Timeout or context cancellation while reading body)

I have tried several times during the day and night always with the same result.
Has anyone successfully downloaded this board package?

4 Likes

Hi @dickyoz25a. Are you using Arduino PLC IDE?:

https://docs.arduino.cc/software/plc-ide/

Or are you instead using Arduino IDE?:

https://docs.arduino.cc/software/ide/#ide-v2

Oh dear, have I posted in the wrong place? I'm using the Arduino IDE (Version 2.3.7) on my PC

1 Like

I moved your topic to a more appropriate forum category @dickyoz25a.

In the future, when creating a topic please take the time to pick the forum category that best suits the subject of your question. There is an "About the _____ category" topic at the top of each category that explains its purpose.

Thanks in advance for your cooperation.

Thanks for the clarification. Please tell us which operating system you are using (e.g., "Windows").

I ask for this information so that we can give you the appropriate instructions for your operating system.

Windows 11 - fully up to date, my SSD failed a few weeks ago and I rebuilt the PC with the latest versions of all the APPS I use.

1 Like

The timeout at which Arduino IDE cancels a download is configurable. You should be able to work around this problem by configuring a higher timeout value. I'll provide instructions you can follow to do that:

  1. Select File > Quit from the Arduino IDE menus if it is running.
    All Arduino IDE windows will close.
  2. Open the file at the following path in any text editor:
    C:\Users\<username>\.arduinoIDE\arduino-cli.yaml
    
    (where <username> is your Windows username)
  3. Add the following content to the arduino-cli.yaml file (or replace the existing content if equivalent content is already present in the file):
    network:
      connection_timeout: 300s
    
    I arbitrarily chose a timeout value of 300 s. You can adjust this as needed.
  4. Save the file.
  5. Start Arduino IDE.

Now try installing/updating the "esp32" boards platform again, just the same as you did before. Hopefully this time it will be successful.


The Arduino CLI developers are tracking the need to adjust the timeout system to avoid spurious failures when the default configuration is in place here:


:red_exclamation_mark: Please only comment on the GitHub issue thread if you have new technical information that will assist with the resolution. General discussion and support requests are always welcome here on Arduino Forum.


17 Likes

Thank you! That worked; it seems like a lot of ESP32 stuff is becoming bloatware.

4 Likes

You are welcome. I'm glad it is working now.

I don't think it is fair to describe it as "bloatware", but you certainly could use the adjective "bloated".

The problem is the decision to provide support for the entire family of "ESP32" microcontrollers via a single boards platform. Despite all the microcontroller models having similar names, there are fundamental architectural differences between some of them. Beyond the resulting increase in the size of the platform's core code, bundled libraries, and configuration files, this means that different toolchains are required depending on which board of the platform you have selected. So instead of installing only a single toolchain as is the case with most platforms, you actually end up installing multiple entire toolchains.

This results in a situation where the installation of the "esp32" platform and its supporting files is 6 GB! Even in this age of relatively cheap drives and broadband, that is still significant to many of us.

That is not a big deal if you actually use the full array of ESP32 family microcontroller models, but many users don't and so the files required for the microcontrollers they don't ever work with are completely superfluous.

3 Likes

Any chance to get the decision to bundle everything together revisited rather than having to adjust the timeout? Who owned that decision?

I’ve a large drive and fast internet fiber connection (↓ 8 Gbit/s ↑ 8 Gbit/s) so it does not matter much to me but this seems indeed unnecessary for many users.

1 Like

I am running IDE 2.3.7 on Linux and had the same issue last night and this morning. As has been noted, the ESP32 package is a particularly large download and perhaps something that Esspressif needs to address. In the meantime, the solution detailed by @ptillisch worked for me also on Linux.
Thank you.

I think you would need to effectively address the reasons that were provided for rejecting the idea previously:

There was a proposal here:

it is a bit difficult to understand the actual proposal from there due to it having been mangled, apparently by the PR author fumbling a Git operation and then doing a force push. You can see it here:

Note that the description of the proposal is misleading, as explained in the associated description:

https://github.com/espressif/arduino-esp32/discussions/7167#discussioncomment-3768747

What you are doing here is creating four separate boards platforms. If you are only installing them manually by cloning to the hardware subfolder of your sketchbook, you might miss that each of these platforms must be installed independently via the Arduino Boards Manager.

So it is option two ("generate multiple release packages").

I don't have an exact answer for that.

Earlier in the post from the first quote above, there was some expansion on the meaning of "we":

That doesn't narrow it down much.

Note that the "esp32" platform is a 3rd party project. Arduino employees have made some contributions to the codebase, but the project ownership and management is completely independent from the Arduino company.

OK - then it points to espressif.

I can see also how complicated it can be to maintain multiple repositories.

As I said - fine for me but I’ve seen other being impacted - your post is a good reference to solve the timeout issue - bookmarked it!

@ptillisch thanks a lot..it worked

Failed to install platform: 'esp32:3.3.5'. 4 DEADLINE_EXCEEDED: context deadline exceeded (Client.Timeout or context cancellation while reading body)

this was the error which occurred everytime I tried to update it, after making a fix that you suggested, it worked great..

1 Like

I have the same issue on mac and i can't find the file to edit to prolong the network timeout. I'm on a intel mac.

Hi @franz6778. The file is located at the following path on macOS computers:

/Users/<username>/.arduinoIDE/arduino-cli.yaml

(where <username> is your macOS username)


:red_exclamation_mark: The .arduinoIDE folder is hidden by default. You can make it visible by pressing the Command+Shift+. keyboard shortcut.


1 Like

What is the default value used by the IDE?

60s (I got the same error and tested it)

1 Like

After I received the error, I stopped the IDE and restarted it. The installation of 3.3.5 then completed without error.

Thank you, ptillisch.