ESP32 Simulator is Open Source Testing Tool for ESP32 Applications

ESP32 Simulator is Open Source Testing Tool for ESP32 Applications

ESP32 simulator is open-source software, which simulates many of the features of the ESP32 microcontroller. It is a great tool for testing your code before getting started with the hardware aspects. The software also provides various templates, with provision for customization. It also has all the benefits of open-source software. Don’t find something, create a pull request. What’s more, you can also vote for whichever features you would like to prioritize development.

The features of the ESP32 microcontroller are quite significant before focusing on the ESP32 simulation. So, below is a consolidated glimpse of ESP32 and its features.

Features of ESP32

ESP32 is a series of low-cost, low-power system-on-chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. It shares many functionalities with the Arduino and can be programmed with the Arduino IDE. ESP32 is basically an easy upgrade path to wireless communications for seasoned Arduino users.

The ESP32 supports many peripherals such as capacitive touch, ADC, DAC, I2C, SPI, UART, I2S, PWM. It is appropriate for IoT Projects and enables Bluetooth communications for Smartphone applications.

ESP32

The ESP32 peripherals include 10 Capacitive sensing GPIOs. They can detect variations in any medium carrying an electric charge. Hence, these capture the variation induced when touching the GPIOs with a finger. You can remove the need for mechanical buttons by integrating these pins into capacitive pads to provide touchscreen functionality.

You can generate variable PWM signals by configuring the 16 channels provided by the ESP32 LED PWM controller. To set a PWM signal, signal frequency, duty cycle, PWM channel, and PWM output GPIOs must be configured in the code. Also, ESP32 has 18 Analog-to-Digital Converter (ADC) channels, 3 SPI interfaces, 3 UART interfaces, 2 I2C interfaces, 2 Digital-to-Analog Converters (DAC), and 2 I2S interfaces.

The ESP32 also features a built-in hall effect sensor that detects changes in the magnetic field in its surroundings.

ESP32 Simulator

ESP32 is open-source software that can simulate the behavior of an ESP32 microcontroller. You can test your code in this software to avoid any unexpected behavior during real-time execution on the actual ESP32 chip.

The ESP32 Simulator software is currently in beta. There are two ESP32 boards as of now:

You can use the ESP32 simulator in 3 ways: Build projects using the ESP32 Arduino Core, Run MicroPython projects, or Simulate bin application files you built on your machine (e.g. using ESP-IDF). Some of the features of ESP32 implemented in the ESP32 simulator software are Processor Core – both cores are simulated, GPIO with interrupts supported, PSRAM4MB external SRAM, UART, I2C, WiFi, ADC, Random Number Generator, and AES/SHA/RSA accelerator.

  • Features like IOMUX, RMT, Timers, and RTC are partially implemented.
  • Features like I2S, SPI, PWM, DMA, Bluetooth, Watchdog and Hall-Effect Sensor have not been simulated yet.

Since the software is open-source, you can also contribute to any feature you might by creating a pull request.

Also for many of the above non-simulated features, there is provision to vote. Based on the results of the vote, the existing community would prioritize the development of the simulation of the most voted-for features.

Getting Started

You can use the ESP32 simulator to run different kinds of applications:

  1. ESP32 Arduino Core projects (including ESP-IDF projects)
  2. MicroPython and CircuitPython projects (examples at https://wokwi.com/micropython)
  3. Rust projects (see https://wokwi.com/rust)
  4. Custom application firmware files (e.g. applications built using the ESP-IDF)
  5. Start from the Arduino-ESP32 Project Template, or from the ESP32 Blink Example.

For more details, please visit ESP32 Simulation | Wokwi Docs

Please follow and like us:
Pin Share

Saumitra Jagdale is a Backend Developer, Freelance Technical Author, Global AI Ambassador (SwissCognitive), Open-source Contributor in Python projects, Leader of Tensorflow Community India, and Passionate AI/ML Enthusiast

view all posts by saumitra
Subscribe
Notify of
guest

3 Comments
Inline Feedbacks
View all comments
Tristan

a link to the simular would be helpfuk

mixos

We added the getting started details above.

David B

This sounds great, is it possible to develop ESP32 code in VS Code / platform IO, “upload” and run that code on the simulator?

Is “Jtag style” debugging with breakpoints possible?

edit – think i just answered my own question by reading the great documentation! https://docs.wokwi.com/guides/esp32

Thanks!

Last edited 1 year ago by David B
Get new posts by email:
Get new posts by email:

Join 97,426 other subscribers

Archives