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.
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:
Select File > Quit from the Arduino IDE menus if it is running.
All Arduino IDE windows will close.
Open the file at the following path in any text editor:
C:\Users\<username>\.arduinoIDE\arduino-cli.yaml
(where <username> is your Windows username)
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.
Save the file.
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:
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.
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.
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.
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:
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.