ESP32-S3 simulator, on an Xtensa LX7 core
Mokxi models the ESP32-S3-DevKitC-1: an ESP32-S3-WROOM-1 with its Xtensa LX7 at 240 MHz, the GPIO matrix, IO MUX, UART0, the chip’s own USB serial port, SYSTIMER, ADC1, the LEDC PWM controller and the RMT that drives the board’s RGB LED, at the addresses in Espressif’s technical reference manual. One core, not two, and no radio (WiFi here is simulated, and says so), and the contract says which numbers were checked and which are believed.
- 9peripheral areas modeled
- 6projects ready to run
- Real timeon your own machine
What is modeled
Taken from the board's own contract document and put in plain words, with what is missing listed underneath.
Not in the model
- A radio of any kind. There is no 802.11 and no Bluetooth in the model. WiFi is simulated instead, and every page that mentions it says so.
- The second core. A real S3 has two LX7 cores; this model runs core 0, so anything that starts a task on core 1 will not run.
- The FPU and the S3’s vector instructions: both fault rather than returning a wrong number, and the runtime is soft float.
- SRAM0, the cache, flash and PSRAM, the RTC and the ULP coprocessors, deep sleep, ADC2, the touch sensor, the timer groups, and the I2C and SPI controllers (Wire and SPI here are software on ordinary pins, as on every board).
- A few numbers are this model’s belief rather than a page of the manual: the UART clock divider’s plus one, the RMT RAM’s layout per channel, the carrier’s phase, the USB packet timing and the ADC’s full scale. Section 6 of the contract names every one.
Open one and press Run
Each of these opens in the editor exactly as it is drawn here.
Every built-in project on the ESP32-S3-DevKitC-1
Each has its own page with the circuit running, the code and a parts list.
Questions
Is it free?
Yes. Every board and every part is on the free plan, with no account needed.
Can I compile my own sketch for it?
Yes. Edit the sketch and press Run: it compiles in the tab with clang for Xtensa, and the build panel shows every step. Nothing is uploaded. Floating-point math is the one thing to avoid: this model has no FPU, so a float multiply faults rather than returning a wrong number.
Which revision is it, v1.0 or v1.1?
Either: the board’s revision property picks. The only difference Espressif lists is the RGB LED, on GPIO48 on the first boards and on GPIO38 on v1.1. The examples are built for GPIO48, as the Arduino core’s board definition is, so on a v1.1 the LED stays dark, as it would on a desk.
Which port is Serial on?
UART0, the "UART" socket with the USB-to-UART bridge, which is what Serial is in the Arduino core with USB CDC On Boot off. USBSerial is the chip’s own USB port. The serial monitor here listens to both.
Does it simulate WiFi or Bluetooth?
Bluetooth, no. WiFi, yes: simulated, and it says plainly that it is. Your sketch uses the real Arduino calls, and underneath there is no radio, no 802.11 and no real internet.
Why does my potentiometer read 4095 before the end of its travel?
Because the datasheet’s range at the default 12 dB attenuation ends at 2.9 V and your rail is 3.3 V. This model reads 4095 from 2.9 V up, and says in its contract that a real part keeps a little more headroom.
Does it run both cores?
One. Core 0 runs; there is no second core and no FreeRTOS to schedule across them, so a setup()/loop() sketch is fine and xTaskCreatePinnedToCore is not.
The other boards
Every one of these runs today, and every one is free.
Looking for the shorter introduction? See the ESP32-S3 simulator page.
Try it on your own firmware
What you build here runs on the board on your desk, unchanged. Nothing to install and no account needed.