Arduino IDE 2.x for ESP32: step-by-step setup (and the usual errors)

How to install and configure Arduino IDE 2.x for the ESP32: board URLs, board selection, CH340/CP2102 drivers, uploading and the serial monitor.

Also available in: EN, ES

Series Introduction to the ESP32 Part 16 View the series →
Arduino IDE 2.x with the ESP32

Arduino IDE 2.x is the fastest way to get an LED blinking. It has known friction (boards, drivers, port), so here is the guide with the usual stumbles already solved.

1. Install the IDE

Download it from arduino.cc (2.x). It includes the editor, library manager, serial monitor and board manager.

2. Add ESP32 support

In File → Preferences → Additional boards manager URLs, paste:

https://espressif.github.io/arduino-esp32/package_esp32_index.json

Then go to Boards Manager, search esp32 and install esp32 by Espressif Systems. It takes a while: hundreds of MB.

3. Pick the right board

In Tools → Board, choose yours:

  • ESP32 Dev Module → the classic.
  • ESP32S3 Dev Module, ESP32C3 Dev Module, etc. → the variant.
  • ESP32-WROVER only if the module has PSRAM.

Pick the wrong board and it usually compiles and uploads, but does not run or boot-loops. It is the number one mistake.

4. The serial port and the drivers

Here is where 90 % of the problems live. Check which USB-serial chip your board uses:

ChipDriver
CP2102 (Silicon Labs)CP210x VCP
CH340 / CH341 (WCH)CH341SER
Native USB (S3/C3/C6)no driver needed

If the port does not show in Tools → Port, it is the driver. On Linux you may also need to be in the dialout group.

5. Upload the first program

void setup() {
  Serial.begin(115200);
  pinMode(2, OUTPUT);
}

void loop() {
  digitalWrite(2, !digitalRead(2));
  delay(500);
  Serial.println("blink");
}

Hit Upload. If it hangs at Connecting..., hold BOOT for a couple of seconds; that is the classic trick.

6. The serial monitor

Open it with the magnifier icon and set 115200 baud. If you see garbage (“����”), the speed does not match.

Typical errors and their cause

SymptomUsual cause
“No such file” or missing portUSB-serial driver
Endless Connecting........BOOT button, bad cable or wrong board
Uploads but does nothingWrong board (variant)
Boot loopNot enough power or GPIO12 held high
Garbage in the monitorBaud rate not 115200

Settings that save time

  • Enable “Show verbose output during: upload” when something fails: it tells the truth.
  • Use a fixed port name if you have several boards.
  • Save your favourite boards so you do not pick each time.
  • For big projects, move to VS Code + PlatformIO: the Arduino IDE falls short.

Summary

  1. Install the IDE and add Espressif’s board URL.
  2. Install “esp32 by Espressif” from the Boards Manager.
  3. Pick the right board (this breaks more projects than code).
  4. Solve the USB-serial chip driver.
  5. Upload, open the monitor at 115200 and enjoy.

Next step: VS Code + PlatformIO when the project grows. Or go back to the series hub.

Related posts

↑↓ navigate ↵ open Esc close