Hi @d-103.
They are stored under the packages
subfolder of Arduino IDE's "data folder".
The default location of the data folder is:
C:\Users\<username>\AppData\Local\Arduino15\
(Where <username>
is the Windows username)
So, for example, on my system where my Windows username is per
and I have the latest version 1.8.6 of the "Arduino AVR Boards" platform (machine identifier arduino:avr
) installed, it is at this location:
C:\Users\per\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
You can configure the location of the data folder. I'll provide instructions you can follow to do that:
- Select File > Quit from the Arduino IDE menus if it is running.
All 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 the Windows username)
- In the content of the
arduino-cli.yaml
file, you might see some lines like this:directories:
data: c:\Users\<username>\AppData\Local\Arduino15
If those lines are not already present, add them to the file.
- Adjust the value of the
directories.data
key to the path you want the IDE to use.
- Save the file.
- Move the files from the previous path to the newly configured path.
- Start Arduino IDE.
The path configured via the directories.data
field is where Arduino IDE stores the following files:
A couple other paths are also configurable by the file:
directories.downloads
: The path where Arduino IDE stores the archive files that are downloaded when you install a library via Library Manager or a platform via Boards Manager.
directories.user
: The path of the Arduino IDE "sketchbook" folder, where libraries installed via Library Manager are stored, as well as being a convenient place to store your sketches. You can also configure this path via Arduino IDE's "Preferences" dialog (accessed via File > Preferences).
directories.builtin.libraries
: The path where Arduino IDE stores some fundamental libraries, which are automatically installed on the first run after a fresh installation.
You can learn more about this configuration file from the documentation here:
https://arduino.github.io/arduino-cli/latest/configuration/
For a system administration use case where you are managing numerous accounts, you might find it inconvenient to manually modify the file. This file is written in the common YAML language, so it is fairly easy to set up scripts to modify the file automatically.
The arduino-cli.yaml
configuration file can be generated and the data in the file adjusted using the arduino-cli config
commands:
https://arduino.github.io/arduino-cli/latest/commands/arduino-cli_config/
For a general purpose command line tool for working with YAML, I can recommend the excellent yq:
You will find that a high quality YAML library is available for each programming language (example).
As @sonofcy
mentioned, on the first run after a new installation Arduino IDE downloads some additional essential components from the Internet, and can't start up if it can not do so.
However, the fact that you are getting to the point where you can attempt to upload a sketch indicates that those essential components are already present, so this is not an issue in your system. After that initial installation of the additional components, Arduino IDE will have all its basic functionalities for writing, compiling, and uploading sketches to the Arduino board even when it does not have Internet access. However, you should be aware that some of the additional features do require Internet access: