ESP32 Arduino Setup

[work in progress]

Arduino IDE setup for ESP32

This guide walks you through setting up the legacy Arduino IDE for use with ESP32 devkit v1 module as well as installation of the libraries we most use during H&D workshops. The instructions are for Arduino IDE version 1.x, but should mostly make sense for version 2.x as well. The reason we're using the older version of the IDE is because there isn't any way in the new version to upload files to the ESP32 board.

This page only documents the installation of the ESP32 support for the Arduino IDE. Next steps may involve:

Installation

Download IDE

First, download the Legacy Arduino IDE.

Pick the installer appropriate for your system.

If necessary you can follow one of these guides:

Install ESP32 Boards

Next we need to install an extension that makes it possible to program the ESP32 modules from the Arduino IDE.

Arduino IDE settings Open the Arduino Setting by going to: - Windows/Linux: Menu > File > Preferences... - MacOS: Menu > Arduino > Preferences...

https://dl.espressif.com/dl/package_esp32_index.json
Screenshot of the popup window for adding board urls
Screenshot of the popup window for adding board urls

Optional:

Launch the Board Manager Go to the menu Tools > Boards > Board manager...

Screenshot showing where to find the board manager panel: Menu > Tools > Board > Boards Manager
Screenshot showing where to find the board manager panel: Menu > Tools > Board > Boards Manager
arduino board manager popup window
Arduino board manager popup window

Type ‘esp32’ in the search box and click ‘Install’

board manager pop-up with esp32 typed into search box
Board manager pop-up with esp32 typed into search box

Install drivers

For your computer to be able to communicate with the ESP32 board you need device drivers. If you have already installed the SiLabs driver you can skip this step. If you're unsure, check the step Check if the USB driver are working below.

Installing a USB device driver to communicate with the ESP32 module (chip name: SiliconLabs CP2012)

Linux 3.x.x & 4.x.x

Linux 2.6.x

Linux 2.6.x - No information

Windows

Mac OS

Check if the USB driver are working

The name of the port may vary depending on your operating system.

Install libraries

At this point you probably continue installing necessary libraries and uploading to the ESP32

Optional additional steps

Adjust ESP32 Dev Module board settings

Changing the settings below will increase the speed with which your webpages will be uploaded to the board.

Look up the board settings under > Tools > Most of these settings are correct by default, you just have to change QIO to DIO

Screenshot of board settings under > Tools in Arduino window
Screenshot of board settings under > Tools in Arduino window

Increasing the upload capacity of the board (at your own risk)

It is possible to increase the upload capacity of the board so you can make slightly bigger websites. This is documented by Doohoyi from Dianaband, but we haven’t tried it. Proceed at your own risk!

Dianaband’s workshop documentation

Troubleshooting

We have collected various troubleshooting tips on the ESP32 Mac troubleshooting page

Acknowledgments

Is document is heavily based on the wonderful documentation of Dianaband: https://github.com/applecargo/WifiZineThrowie/blob/master/docs/index.md