How to install ESP32 board support in Arduino IDE if the download fails
If Board Manager is timing out or failing mid-download, your IDE isn't “broken” - it just can't reliably fetch big packages from where it's sitting (WiFi, proxy, DNS, firewall, captive portal… all the usual suspects).
First: confirm the ESP32 Board Manager URL
- Arduino IDE → Preferences
- Find Additional Boards Manager URLs
- Add (or verify) this URL:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
If it times out (common on 3.3.x installs)
- Try a different network once (phone hotspot is the fastest test).
- Disable VPN / proxy temporarily, or configure Arduino IDE to use your proxy if you're on a managed network.
- Restart Arduino IDE after changing URLs/network.
- Try again later (GitHub/CDN hiccups do happen).
A workaround that often succeeds: install an older version, then update
If the newest version keeps failing, install a slightly older ESP32 core first (smaller/less fragile download), then update once you have a working baseline.
Last resort: manual install (offline-ish)
If you're in a locked-down environment, you can install using a machine/network that can download, then move the Arduino data folder over. It's not fun, but it works.
- Use a “good” network to download/install ESP32 core once.
- Copy the Arduino packages folder to the target machine.
- Reopen Arduino IDE and select an ESP32 board.
Most ESP32 install failures are network/proxy/DNS problems, not Arduino IDE problems. Verify the URL, then try a different network (hotspot test) and install an older core if the newest version keeps timing out.
Related: Why can't I upload code? · ESP32 Board Manager package fails to install · Install Arduino IDE and drivers