esp32sim adalah emulator ESP32 open-source yang berjalan di browser atau secara lokal. Ia menjalankan firmware asli tanpa perangkat keras fisik, layanan cloud, atau langganan. Proyek ini bertujuan memudahkan eksperimen, pengujian, dan simulasi perangkat lunak ESP32 tanpa selalu membutuhkan perangkat yang terhubung. Pengembangnya telah membagikan video demo singkat dan menanyakan kepada pengembang embedded fitur apa yang dibutuhkan emulator seperti ini sebelum dapat digunakan untuk pengembangan, pengujian, atau CI.
Emulator ini ditulis dalam Rust dan melakukan emulasi tingkat instruksi untuk empat chip ESP32 pada kedua arsitektur CPU Espressif. Chip tersebut adalah ESP32 klasik dan ESP32-S3, yang menggunakan core Xtensa, serta ESP32-C3 dan ESP32-C6, yang menggunakan core RISC-V. Setiap chip melakukan boot dengan mask ROM asli, bootloader tahap kedua asli, dan image aplikasi yang tidak dimodifikasi, tanpa firmware yang di-patch atau stub. ESP32 klasik juga mendukung papan TTGO T-Display, dengan layar ST7789 dan tombolnya.
Banyak logika system-on-chip dibagikan antar chip. C3 menggunakan kembali model UART, timer, GPIO, pengontrol flash SPI, DMA, dan kriptografi milik S3, sambil menambahkan peta memori, pengontrol cache, dan matriks interrupt sendiri. C6 menggunakan model yang sama dengan peta memori dan front-end interrupt tersendiri. Hanya core CPU yang benar-benar berbeda. Proyek ini dilisensikan di bawah MIT, dan versi browser berjalan melalui WebAssembly.
Pertanyaan pengembang masih terbuka: apa yang akan membuat emulator ini praktis untuk alur kerja embedded yang nyata?
Sumber: Hacker News · Diringkas oleh HeadlinesBriefing