Ir para o conteúdo principal

Simulador ESP32

O ESP32 é um microcontrolador popular habilitado para WiFi e Bluetooth, amplamente utilizado para projetos de IoT. Wokwi simula o ESP32, ESP32-C3, ESP32-S2 e ESP32-S3 (beta).

ESP32 boards

NomeChipDescrição
ESP32 DevKit v1ESP32Placa de desenvolvimento popular ESP32
TinyPICOESP32Placa ESP32 compacta por UnexpectedMaker
Franzininho WiFiESP32-S2Placa ESP32-S2 da Comunidade Franzininho
ESP32-S2-DevKitM-1ESP32-S2Placa de desenvolvimento ESP32-S2 de nível básico
ESP32-C3-DevKitM-1ESP32-C3Placa de desenvolvimento ESP32-C3 de nível básico
Rust Board ESP32-C3ESP32-C3Placa ESP32-C3 para desenvolvimento Rust
ESP32-S3-DevKitC-1ESP32-S3Placa de desenvolvimento ESP32-C3 de nível básico (beta)

Você pode contribuir com placas adicionais enviando um pull request para wokwi-boards.

Começando

Você pode usar o simulador ESP32 de três maneiras:

  1. Crie projetos usando o ESP32 Arduino Core (incluindo projetos ESP-IDF)
  2. Execute projetos MicroPython (também CircuitPython no ESP32-S2)
  3. Simule arquivos de aplicativo bin que você construiu em sua máquina (por exemplo, usando ESP-IDF)

Arduino Core

Comece a partir do modelo de projeto Arduino-ESP32, ou do Exemplo de Blink ESP32.

Se você quiser usar bibliotecas Arduino de terceiros, adicione um arquivo libraries.txt com a lista de bibliotecas que você usa.

MicroPython

Comece com o modelo de projeto MicroPython ESP32, ou com o Exemplo de Blink MicroPython ESP32.

Nota: Enquanto a simulação está em execução, pressione Ctrl+C dentro do Terminal Serial para entrar no MicroPython REPL. Alternativamente, você pode editar o código de Exemplo Blink e remover o loop while. Para obter mais informações, consulte o Guia MicroPython.

Aplicativo personalizado (.bin)

Abra o modelo de projeto de aplicativo personalizado ESP32, e pressione "F1" no editor de código. Em seguida, escolha "Carregar Arquivo HEX e Iniciar Simulação...". Escolha qualquer arquivo .bin em seu computador e a simulação será iniciada.

Exemplos no simulador

Exemplos Arduino

Exemplos MicroPython

Exemplos ESP-IDF

Os exemplos a seguir usam as funções ESP-IDF. Eles são compilados usando o Arduino ESP32 Core:

Recursos do simulador

PeriféricoESP32S2S3C3Notas
Processador core(s)✔️✔️✔️✔️
GPIO✔️✔️🟡✔️Interrupções suportadas
IOMUX🟡🟡🟡🟡
PSRAM✔️✔️✔️4MB de SRAM externa
UART✔️✔️✔️✔️
USB✔️✔️Suporte para UART sobre USB (CDC)
I2C✔️✔️✔️✔️Mestre apenas. Endereçamento de 10 bits não suportado.
I2SAberto para votação
SPI✔️✔️✔️✔️
TWAI
RMT🟡🟡🟡Somente transmissão, use para controlar NeoPixels
LEDC PWM✔️✔️✔️Used by analogWrite(), Servo, Buzzer, etc.
MCPWM
DMA🟡🟡
WiFi✔️✔️✔️✔️Veja o Guia WiFi do ESP32
BluetoothAberto para votação
Timers🟡✔️🟡✔️
Watchdog
RTC🟡🟡🟡🟡Apenas resistores RTC pull-up / pull-down
ADC✔️✔️✔️Nota: analogRead() retorna valores até 4095
RNG✔️✔️✔️✔️Gerador de números aleatórios
AES Accelerator✔️✔️✔️
SHA Accelerator✔️✔️✔️
RSA Accelerator✔️✔️✔️
Hall Effect Sensor
ULP Processor
GDB Debugging🟡🟡🟡🟡Apenas através do wokwi-gdbserver

Legenda:
✔️ - Simulado
🟡 - Implementação parcial/trabalho em andamento
❌ - Não implementado (mas se você precisar, abra uma solicitação de recurso)
— - Não disponível neste chip

Simulação WiFi

Veja o Guia WiFi do ESP32.

Uso Avançado

Tabela de partição personalizada

Você pode especificar uma tabela de partição personalizada adicionando um arquivo "partitions.csv" ao seu projeto. Confira o ESP32 Partition Table Guide para o formato exato deste arquivo.