Quick Start Guide to Adding ESP32 to the Arduino IDE Board Manager

I really enjoy making sensor networks and the built-in wifi included in ESP32 boards is incredibly convenient. They are also "better" microprocessors and the fact that they use a 3.3V logic level can be helpful depending on the sensors being used as it means I don't need to also package a logic level converter. Not to mention, they have many useful varieties of development boards, including ones with an OLED prepopulated on the board (my go-to board when I know I'm going to want a display on my project), and LoRa-enabled radios (very helpful for long-range sensor networks).

And the best part? All of this functionality can be had for between $5-$12 depending on the package you require which makes ESP32-based boards among my favorite Arduino-compatible boards.

Today's quick start guide will focus on adding ESP32 board support to the Arduino IDE's Board Manager.

1. Open up the Arduino IDE and navigate to File > Preferences:

Files > Preferences menu in Arduino IDE

2. Copy and paste the following URL into "Additional Boards Manager URLs:

https://dl.espressif.com/dl/package_esp32_index.json
Add espressif (ESP32) board manager URL

Navigate to Boards Manager with Tools > Boards > Boards Manager:

Tools > Boards > Boards Manager in Arduino IDE

3. Search for esp32 and click install:

Search for esp32 in Boards Manager

4. That's it! Now when you go to Tools > Boards, you should see your ESP32 boards listed:

List of supported ESP32 boards now available in Arduino IDE

Troubleshooting:

A common error that you might see is:

Trackback arduino line 35, in <module> import serial.tools.list_ports as list_ports

/heltec/esp32/tools/esptool/esptool.py No module named serial.tools.list_ports

This has to do with the Python version you're using. See my guide on how to fix it here: How to Fix ESP32 Compiler Error in Arduino IDE: /heltec/esp32/tools/esptool/esptool.py No module named serial.tools.list_ports


As always, if you have any problems feel free to reach out to me either here in the comments or on the forum!