[Discussion] Does Arduino IDE already support ESP32 by default?

Hello everyone,

I found that it seems no longer necessary to manually add the URL in "Preferences" to directly search and install ESP32 in the "Board Manager."

I checked Arduino's official package_index.json and found that it indeed already contains information about ESP32.

https://downloads.arduino.cc/packages/package_index.json

May I ask if this is an officially confirmed permanent change? Because I couldn't find any related announcements.

I'm making a tutorial and hope to provide the most accurate installation steps, so I'd like to confirm with everyone.

Thank you!

Does anyone know where the official Arduino package_index.json file is maintained?

I have searched in the arduino/arduino-ide and arduino/arduino-cli GitHub repositories but couldn't find this file. This makes me curious about its update and maintenance mechanism. Is there a dedicated repository, or an internal process managed by the Arduino team to decide which third-party development boards can be included?

Understanding this mechanism might help understand from the source why ESP32 was added, and whether this is a long-term strategy.

I can say that I have recently used an esp32 with the arduinoIDE without needing extra features just for the esp32

1 Like

Hi @wulu.

I can't "confirm" this, but the "esp32" platform was added to the primary package index two years ago so this is well established.

Something to be aware of is that there is some delay before Arduino adds the entry for a new release of the "esp32" boards platform to the primary package index. For example, version 3.3.0 of the platform was released earlier today, and is available for installation when using the "Additional Boards Manager URL" provided by Espressif, but it is not available from the primary package index. However, the previous release 3.2.1 is available from the primary package index.

So if you prioritize simplicity, relying on the primary package index in your instructions is the best approach, but if you instead prioritize always making the state of the art platform available, then you should instead include instructions for adding the "Additional Boards Manager URL" to the Arduino IDE preferences.

Unfortunately it is not publicly available.

It is maintained via a dedicated system. There is no purpose in going into the details since this is not publicly visible anyway.

Yes, 3rd party packages for Arduino's partners are added to the primary package index. So this is handled via business agreements between the Arduino company and the 3rd party entity that maintains an Arduino package.

1 Like

Hi @ptillisch,

Thank you very much for your detailed and clear explanation!

The background information on the package_index.json maintenance mechanism is very helpful. Even though it's not public, understanding the mechanism behind it adds valuable transparency for us as community members.

Your advice regarding the tutorial is also valuable.

Thanks again for your expert answer

You are welcome. I'm glad if I was able to be of assistance.

Regards, Per

1 Like