Repolode
mikroverk

mikroverk/esp32sim

Emulador open source de ESP32 en Rust que ejecuta firmware real en tu computadora o en el navegador, sin necesidad de hardware.

Estrellas
395
Forks
20
Issues abiertos
19
Último commit
hace 12 horas

¿Qué es?

esp32sim emula chips de la familia ESP32 para que el firmware sin modificar pueda ejecutarse sin una placa física. Arranca la mask ROM del chip, el bootloader de segunda etapa y la aplicación, y modela periféricos de la placa como pantallas, entrada táctil, LEDs, botones, audio, cámara y WiFi.

El proyecto es compatible con ESP32-S3 (marcado como maduro), ESP32-C3 y ESP32-C6 (en borrador), y el ESP32 clásico (en fase inicial). El firmware puede conectarse a un punto de acceso virtual con DHCP, DNS y NTP, y acceder a la red real. Una versión compilada con WebAssembly ejecuta el mismo emulador en una pestaña del navegador, y un sitio de demostración incluye varios ejemplos.

El proyecto no es oficial ni está afiliado a Espressif Systems.

Funciones clave

  • 01Arranca la cadena completa: mask ROM, bootloader, FreeRTOS y la aplicación.
  • 02Ejecuta WiFi con la biblioteca WiFi de Espressif sin modificar, incluido HTTPS hacia la red real.
  • 03Modela placas con pantallas, entrada táctil, LEDs, botones, audio y cámara.
  • 04Incluye una caché de bloques y JIT en ESP32-S3 para acelerar la ejecución.
  • 05Ofrece una versión compilada con WebAssembly para ejecutarlo en el navegador.

Casos de uso

  • Probar firmware de ESP32 en CI o en una laptop sin conectar una placa.
  • Probar demos de ESP32 y la compatibilidad con placas en el navegador antes de comprar hardware.
  • Desarrollar y depurar interfaces de usuario o código de audio a nivel de placa con periféricos modelados.

Inicio rápido

  1. 1

    Compilar el emulador

    cargo build --release
  2. 2

    Descargar los archivos de mask ROM (no están incluidos en el repositorio)

    tools/fetch-demo-assets.sh --no-linux
  3. 3

    Arrancar el firmware de demostración del sintetizador Atech durante 5 segundos

    FW=web/wasm/fw/public ./target/release/esp32sim --boot rom --rom web/wasm/fw/esp32s3_rev0_rom.elf --bootloader $FW/atech-bootloader.bin --ptable $FW/atech-ptable.bin --app $FW/atech-firmware.bin --script $FW/atech-script1.txt --wav out.wav --tft-png tft.png --max-seconds 5

Antes de usarlo

  • Solo el ESP32-S3 figura como maduro; el C3, el C6 y el ESP32 clásico están en fase de borrador o inicial.
  • Algunas demostraciones y placas requieren descargas adicionales, como las mask ROM que no están en el repositorio.

Temas

Preguntas frecuentes

¿Qué es esp32sim?
Emulador open source de ESP32 en Rust que ejecuta firmware real en tu computadora o en el navegador, sin necesidad de hardware. esp32sim emula chips de la familia ESP32 para que el firmware sin modificar pueda ejecutarse sin una placa física. Arranca la mask ROM del chip, el bootloader de segunda etapa y la aplicación, y modela periféricos de la placa como pantallas, entrada táctil, LEDs, botones, audio, cámara y WiFi.
¿esp32sim es gratuito? ¿Qué licencia tiene?
esp32sim es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿esp32sim sigue mantenido?
Mantenimiento activo. El último commit de esp32sim fue el 19 oct 2026.
¿Para qué puedo usar esp32sim?
Probar firmware de ESP32 en CI o en una laptop sin conectar una placa. Probar demos de ESP32 y la compatibilidad con placas en el navegador antes de comprar hardware. Desarrollar y depurar interfaces de usuario o código de audio a nivel de placa con periféricos modelados.
¿Cómo se instala esp32sim?
Compilar el emulador: cargo build --release Descargar los archivos de mask ROM (no están incluidos en el repositorio): tools/fetch-demo-assets.sh --no-linux Arrancar el firmware de demostración del sintetizador Atech durante 5 segundos: FW=web/wasm/fw/public ./target/release/esp32sim --boot rom --rom web/wasm/fw/esp32s3_rev0_rom.elf --bootloader $FW/atech-bootloader.bin --ptable $FW/atech-ptable.bin --app $FW/atech-firmware.bin --script $FW/atech-script1.txt --wav out.wav --tft-png tft.png --max-seconds 5
¿Dónde consigo esp32sim?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/mikroverk/esp32sim

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados