← Back to insights
ESP32ESP8266Arduino IDEIntroductory

How to Install ESP32 and ESP8266 Boards in Arduino IDE

A step-by-step guide to adding ESP32 and ESP8266 Board Manager URLs in Arduino IDE, installing the board packages, selecting the correct board, and testing the setup.

  • ESP32
  • ESP8266
  • Arduino IDE
  • Boards Manager
  • Embedded Systems
  • IOT
Guide showing ESP32 and ESP8266 board packages being added to Arduino IDE through Boards Manager.
Published
Updated
Reading time
4 min read
Author
Saroj Chaudhary
Role
IoT & Embedded Systems Engineer

ESP32 and ESP8266 boards are widely used for IoT, automation, sensor monitoring, and embedded-system projects. Before programming these boards with Arduino IDE, the corresponding board support package must be installed.

Arduino IDE makes this easy through Boards Manager. The only extra step is adding the ESP32 and ESP8266 package URLs to the IDE preferences.

This guide shows the complete process using Arduino IDE 2.

Board Manager URLs

Use the following package URLs.

ESP8266

https://arduino.esp8266.com/stable/package_esp8266com_index.json

ESP32

The current stable URL recommended by Espressif is:

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

You may also come across this GitHub-hosted form of the ESP32 package index:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

For a new setup, use the current stable URL from Espressif documentation.

1. Open Arduino IDE Preferences

Start Arduino IDE.

On Windows or Linux, go to:

File → Preferences

On macOS, go to:

Arduino IDE → Settings

Scroll down until you find:

Additional Boards Manager URLs

In Arduino IDE 2, click the button beside this field to open the URL list.

2. Add the ESP32 and ESP8266 URLs

Add one URL per line:

https://arduino.esp8266.com/stable/package_esp8266com_index.json
https://espressif.github.io/arduino-esp32/package_esp32_index.json

If other Board Manager URLs are already present, keep them and add the new URLs on separate lines.

Click OK to save the list, then close the Preferences window.

3. Open Boards Manager

Open Boards Manager using either:

Tools → Board → Boards Manager

or click the Boards Manager icon in the left sidebar of Arduino IDE 2.

Arduino IDE will use the URLs you added to load the available ESP32 and ESP8266 board packages.

4. Install ESP32 Board Support

In Boards Manager, search for:

esp32

Find the ESP32 platform from Espressif Systems and click Install.

Arduino IDE will download the ESP32 core, compiler tools, upload tools, and board definitions.

Wait until the installation finishes.

After installation, ESP32 boards will become available under:

Tools → Board

5. Install ESP8266 Board Support

Open Boards Manager again and search for:

esp8266

Select the ESP8266 platform and click Install.

Wait for Arduino IDE to finish downloading and installing the required files.

ESP8266 board options will then appear in the board selection menu.

6. Connect Your Development Board

Connect the ESP32 or ESP8266 board to your computer using a USB data cable.

A charging-only USB cable can power the board but will not allow firmware uploads.

After connecting the board, open:

Tools → Port

and select the port assigned to your board.

Depending on the operating system, it may appear as something similar to:

COM3
COM5
/dev/ttyUSB0
/dev/ttyACM0

7. Select the Correct Board

The exact board selection depends on the development board you are using.

For a common ESP32 development board, you may use:

Tools → Board → esp32 → ESP32 Dev Module

For ESP8266 boards, choose the entry that matches your hardware, such as a NodeMCU or generic ESP8266 module.

Selecting the correct board is important because Arduino IDE uses the board definition to determine flash settings, upload method, memory layout, and compilation options.

8. Test the Installation

A simple Serial Monitor test is useful because it does not depend on whether your board has a built-in LED.

Create a new sketch and upload:

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("ESP board setup successful");
}

void loop() {
  Serial.print("Uptime: ");
  Serial.print(millis() / 1000);
  Serial.println(" seconds");
  delay(1000);
}

After uploading, open:

Tools → Serial Monitor

Set the baud rate to:

115200

You should see output similar to:

ESP board setup successful
Uptime: 1 seconds
Uptime: 2 seconds
Uptime: 3 seconds

If this appears correctly, the board package, selected board, serial port, compiler, and upload process are working.

Common Problems

ESP32 or ESP8266 does not appear in Boards Manager

Check that the URLs were entered correctly.

For ESP8266:

https://arduino.esp8266.com/stable/package_esp8266com_index.json

For ESP32:

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

Also confirm that your computer has an active internet connection.

If necessary, close and reopen Arduino IDE after adding the URLs.

No serial port appears

Check the following:

  • use a USB cable that supports data
  • try another USB port
  • reconnect the board
  • check whether your operating system detects the USB device
  • install the required USB-to-serial driver if your specific development board needs one

Upload fails

First confirm:

  • the correct board is selected
  • the correct serial port is selected
  • no other application is using the serial port
  • the USB cable is working

Some ESP32 development boards may require pressing or holding the BOOT button during the beginning of an upload.

Wrong board configuration

A project may compile but still fail to upload or operate correctly when the wrong board variant is selected.

Always match the Arduino IDE board selection with the actual ESP32 or ESP8266 development board you are using.

Updating the Board Packages

Board packages can be updated later through Boards Manager.

Open:

Tools → Board → Boards Manager

Search for esp32 or esp8266. If a newer installed-package version is available, Arduino IDE will provide an update option.

For ongoing projects, especially deployed embedded systems, avoid changing core versions in the middle of development without testing. A newer core can introduce changes in libraries, APIs, networking behavior, or build settings.

Quick Setup Summary

The complete process is:

Install Arduino IDE

Open Preferences

Add ESP32 + ESP8266 Board Manager URLs

Open Boards Manager

Install ESP32 / ESP8266 platform

Connect the board

Select board + port

Compile and upload

Once this setup is complete, Arduino IDE can be used to develop ESP32 and ESP8266 projects involving sensors, Wi-Fi, web servers, MQTT, automation, remote monitoring, and other IoT applications.

Official References

For the latest installation information, refer to the official documentation:

Related Services

Firmware & Device Logic

Embedded Systems Development

Firmware-focused development for microcontroller-based systems, sensor interfaces, device logic, and hardware integration.

  • ESP32 firmware development
  • Embedded C/C++ implementation
  • UART, I2C, SPI, and GPIO integration

Core Service

IoT System Development

Connected system design spanning devices, firmware, communications, data flow, and operator-facing interfaces.

  • Connected device architecture
  • Sensor integration
  • Firmware development

Proof of Concept

Hardware Prototyping

Prototype-oriented engineering for evaluating sensors, modules, power approaches, and early connected-system ideas.

  • Proof-of-concept development
  • Sensor evaluation
  • Microcontroller selection

Related Solution Areas

Solution Area

Remote Monitoring & Telemetry

Connected-device architectures for unattended equipment, GSM/LTE telemetry, LoRa links, Wi-Fi access, buffering, retries, and remote device-health visibility.

  • Remote sensor stations
  • Unattended device telemetry

Related Projects

RFID-Based Attendance System project illustration
IoTClient ProjectCompleted Prototype

RFID-Based Attendance System

A fast and reliable ESP32-based attendance system using RFID cards, local SD-card storage, a 1.3-inch OLED display, captive-portal configuration, and battery backup.

  • ESP32
  • RFID
  • SD Card
  • 1.3-inch OLED
Jul 13, 2025Attendance Monitoring
View case study
Compact VayuCast ESP32 microclimate monitoring device.
Environmental MonitoringProduct ConceptDeployed

VayuCast Compact Microclimate Monitoring Device

A compact ESP32-based microclimate monitoring device using an SHT45 sensor, GSM communication, OTA firmware updates, and 18650 Li-ion battery backup.

  • ESP32
  • SHT45
  • GSM
  • OTA Firmware Update
Dec 1, 2025Microclimate Monitoring
View case study

Related Articles

ESP32 for IoT Prototyping: Where It Fits article cover illustration
Embedded SystemsIntroductory

ESP32 for IoT Prototyping: Where It Fits

A grounded look at what ESP32 is good at in early IoT development, where its interfaces help, and when a different platform may be a better choice.

  • ESP32
  • Firmware
  • Wi-Fi
4 min readPrototyping
Read article
Planning diagram showing an IoT prototype broken into problem, inputs, controller, connectivity, power, and test stages.
PrototypingIntroductory

How to Plan an IoT Prototype Before Buying Components

A practical planning checklist for students, startups, and technical founders who want to define the problem, interfaces, power path, and test stages before ordering hardware.

  • Prototyping
  • Sensors
  • Power Management
5 min readEngineering Guides
Read article
Technical comparison diagram showing Wi-Fi, GSM/LTE, LoRa, and BLE as different connectivity options for IoT systems.
ConnectivityIntermediate

Choosing IoT Connectivity: Wi-Fi, GSM/LTE, LoRa or BLE?

A practical framework for selecting the right wireless link for an IoT device based on range, power, infrastructure, bandwidth, and field conditions.

  • Wi-Fi
  • GSM
  • LTE
6 min readRemote Monitoring
Read article

Author

Saroj Chaudhary

IoT & Embedded Systems Engineer

Founder-led engineering notes from IoTSolutions, focused on practical device, firmware, and telemetry decisions.

Apply the idea

Need help turning this article into a working prototype plan?

If you are working through device architecture, connectivity, firmware structure, or dashboard scope, IoTSolutions can help turn the question into a cleaner build path.