Espressif ESP32

Serial to USB Driver

Espressif ESP32 Development Board

Upload a Sketch

The Examples for the ESP32 become visible after selecting ESP32 DEV MODULE in the Arduino IDE.
Set the flashing speed to 460800 or lower (115200).
Upload your sketch.
It could be necessary to start the IDE with administrator rights, too.

Special Hardware Configuration

The I/O pins are not 5V-tolerant!
Use 3.3V instead.

The build in LED is on GPIO 2.

GPIO 34, 35, 36, 37, 38 and 39 are input only. And don't have a software pull-up or pull-down functions. One has to use an external 10k pull-up resistor.

GPIO 6, 7, 8, 9, 10 and 11 are used for the SPI flash chip and can't be used for any other purposes.

WeMos ESP32 OLED Board

The OLED is connected like that:

  pin5 - SDA
  pin4 - SCL

The I2C address of the screen is 0x3c.

  #include "SSD1306.h"
  SSD1306  display(0x3c, 5, 4);

Board: ESP32 Dev Module


Arduino core for ESP32 WiFi chip

Workaround for Arch Linux:

Install the latest Arduino IDE

 sudo pacman -S arduino

Install Git

 sudo pacman -S git

Download and run

 sudo python

Install PySerial

 sudo pip install pyserial

Make a folder in the Arduino folder

 sudo mkdir -p /usr/share/arduino/hardware/espressif
 cd /usr/share/arduino/hardware/espressif

Download ESP32 and run

 sudo git clone esp32
 cd esp32
 sudo git submodule update --init --recursive
 cd tools
 sudo python2

Programming the ESP32

IO pin 34 and pin 35 don't work!
ESP-IDF Programming Guide

the 8bit DAC:

 #include <driver/dac.h>
 void setup() {
void loop() {
 for (int i=0; i<255; i++){
 dac_out_voltage(DAC_CHANNEL_1, i);

Output is a signal between 0 and 3.2V with 76Hz.

Adafruit HUZZAH32 – ESP32 Feather Board