ESP32 Boards
Three boards built around the ESP32-WROOM-32 module: a dual-core Xtensa LX6 processor at 240 MHz with 3.3 V logic. They are compiled with the official arduino-esp32 3.3.10 core and simulated by an Xtensa emulator that runs in the browser as WebAssembly.
Common features
| Feature | Details |
|---|---|
| Logic level | 3.3 V |
| Pin names in code | GPIO numbers, for example pinMode(4, OUTPUT) |
analogRead() | 12-bit, 0–4095 |
PWM, tone(), Servo | Through the LEDC peripheral (analogWrite(), ledcWrite(), ESP32Servo) |
| NeoPixel | Through the RMT peripheral |
| Serial Monitor | Serial (TX0/RX0) |
| Extra serial ports | Serial1 and Serial2, on any pins with begin(baud, SERIAL_8N1, rx, tx) |
| Input-only pins | GPIO 34, 35, 36 (VP) and 39 (VN) |
| Built-in LED | GPIO 2 |
Also simulated: both CPU cores with FreeRTOS tasks, hardware timers, interrupts, Preferences and SD cards over SPI.
Boards
Dual-core Xtensa 240 MHz, WiFi & Bluetooth, 3.3 V.
The ESP32 DevKit V1 (30 pins) labels its pins D2, D4, TX2, RX2 and so on. In code, use the GPIO number: D4 is 4.
ESP32 in the D1 mini size, two pin rows on each side, WiFi & Bluetooth.
The WEMOS D1 Mini ESP32 has the size of a D1 mini with two rows of pins on each side. It is compiled as the d1_mini32 board. The pins are labeled with their GPIO numbers (IO0, IO2, IO4 …) plus the flash and JTAG names (SD0–SD3, CLK, CMD, TDI, TD0, TCK, TMS).
ESP32 in the Arduino Uno form factor, fits Uno shields.
The WEMOS D1 R32 has the shape of an Arduino Uno and is compiled as the d1_uno32 board. Its headers carry the Uno labels (D0–D13, A0–A5) next to the GPIO numbers, so Uno shields can be used. Board macros such as D2 are also available in code.
Default pins used by blocks
Blocks for components that need several pins use these pins. Bluetooth and GPS use a hardware serial port on these pins.
Boot messages
After reset, the ESP32 ROM prints its boot log to the Serial Monitor (starting with ets Jul 29 2019 12:21:46) before your program starts, exactly like a real board. This is normal.
Performance
The first compile for an ESP32 board takes 30–60 seconds because the core is large; later compiles use the cache. Programs that use delay() run lightly. Programs that loop without pausing are executed instruction by instruction and can run slower than real time; the timer shows the simulated time.
Ready to try it?
Sign in with Google, pick a board and run your first simulation in two minutes. Free during the launch period.
Start simulating free