Skip to main content

ESP32 Simulation

The ESP32 Simulator is currently in preview. There are two ESP32 boards:

You can contribute additional boards by sending us a pull request.

Getting Started

You can use the ESP32 simulator in three ways:

  1. Build projects using the ESP32 Arduino Core
  2. Run MicroPython projects
  3. Simulate bin application files you built on your machine (e.g. using ESP-IDF)

Arduino Core

Start from the Arduino-ESP32 Project Template, or from the ESP32 Blink Example.

If you want to use third-party Arduino libraries, add a libraries.txt file with the list of libraries that you use.

MicroPython

Start from the MicroPython ESP32 Project Template, or from the MicroPython ESP32 Blink Example.

Note: While the simulation is running, press Ctrl+C inside the Serial Terminal to get into the MicroPython REPL. Alternatively, you can edit the Blink Example code and remove the while loop. For more information, check out the MicroPython Guide.

Custom Application (.bin) File

Open the ESP32 custom application project template, and press "F1" in the code editor. Then choose "Load HEX File and Start Simulation…". Choose any .bin file from your computer and the simulation will start.

Simulator Examples

Arduino Examples

MicroPython Examples

ESP-IDF Examples

The following examples use the ESP-IDF functions. They are compiled using Arduino ESP32 Core:

Simulation Features

PeripheralStatusNotes
Processor coreβœ”οΈBoth cores are simulated
GPIOβœ”οΈInterrupts supported
IOMUX🟑
PSRAMβœ”οΈ4MB of external SRAM
UARTβœ”οΈOnly UART0 for now
I2Cβœ”οΈMaster only. 10-bit addressing not supported.
I2S❌
SPI❌
RMT🟑Transmit-only, use to control NeoPixels
PWM❌
DMA❌
WIFI🟑Scanning works; See notes
Bluetooth❌
Timers🟑
Watchdog❌
RTC🟑Only RTC Pull-up / Pull-down resistors
ADCβœ”οΈNote: analogRead() returns values up to 4095
Hall Effect Sensor❌
GDB Debugging🟑Only through wokwi-gdbserver

Legend:
βœ”οΈ - Simulated
🟑 - Partial implementation/work in progress
❌ - Not implemented (but if you need it, please open a feature request)

WiFi Simulation

The WiFi simulation is still very much work-in-progress. You can scan for WiFi networks, and we're now working on the ability to connect to networks (association).

The simulator currently provides two built-in virtual WiFi access points:

Name (SSID)BSSIDDescription
Wokwi-GUEST42:13:37:55:aa:01Open WiFi network (no password required)
Wokwi-Club42:13:37:55:aa:02Club-only WiFi network

The Wokwi-GUEST network can be used by anyone, and can access a limited set of internet services. The Wokwi-Club network is limited for subscribers, and can access all internet servers through a metered proxy.