Arduino System Directories

Two Questions about Arduino’s Directories in my System.

(Mac OSX)

I generally combine a good amount of C/C++ code with Arduino’s syntax in sketches and Everything was working perfectly well for several years. Then, I decided to upgrade to 1.8.10, along with libraries.

Then, some sketches stopped behaving as before and I worked may way through most of it. In fact, thus far, 98% is back to where I want to be. But...

Much of my work requires uploading Exported .HEX files, not Sketches from the IDE, for UNO’s and NANO’s. The command line-info changed and, after reviewing the ’Verbose’ output, I was able to get back to being able to upload .HEX for UNO’s and NANO’s with both the Old and (I call it) the New Bootloader.

During this effort I Discovered there’s a Directory in User...>Library>Arduino15.

Inside Directory “Arduino15” is the “Packages” dir that contains “arduino>tools>avrdude>” and, inside this dir are two Directory’s; “6.3.0-arduino14” and “6.3.0-arduino17”

Question 1.
What is the 15 for in the Top-Level dir and can “15” be deleted?

Question 2.
Why “15” when contents are “...14” and “...17” ?

Question 3.
Can I delete “6.3.0-arduino14” or will it be needed?

Note: Currently, uploading sketches and .HEX works with the “...17” from my Terminal.


What is the 15 for in the Top-Level dir

Years ago, Arduino made some breaking changes and changed the version number of the Arduino IDE from 1.0.x to 1.5.x. So they called the new API system "1.5". The 1.0.x versions of the Arduino IDE used a data folder named "Arduino", so they had to change to using a new folder name so that the two versions of the Arduino IDE wouldn't interfere with each other.

can “15” be deleted?


Why “15” when contents are “...14” and “...17” ?

They refer to two completely different things, thus there is no reason to expect the numbers to match.

I've already explained what the "15" in Arduino15 means.

As for the AVRDUDE versions, Arduino has had to make some custom modifications to AVRDUDE. The "6.3.0" part of the version number is the official AVRDUDE version Arduino's AVRDUDE version is based on. The "-arduino14" and "-arduino17" parts are the version number of Arduino's modification to AVRDUDE. So AVRDUDE 6.3.0-arduino17 is the 17th release of a modified version of AVRDUDE 6.3.0 Arduino has made.

Can I delete “6.3.0-arduino14” or will it be needed?

That depends on the dependencies of the boards platforms you have installed. It may be that AVRDUDE 6.3.0-arduino14 is a leftover from a platform you have since updated, or maybe not. The easiest way to find out would be to delete the entire Arduino15/packages folder, then re-install all your boards platforms again. However, it's probably only around 1 MB, so why even waste time worrying about it?

Perfect Answer - Thank you!

All is working well so, I'm leaving it as-is, as you suggest.

You're welcome. I'm glad if I was able to be of assistance. Enjoy!