Tester builds 2.0.0 (1.2.0)
Quote from arcachofo on September 20, 2025, 8:26 amI can't believe the ESP32's EN pin can withstand a 5kV voltage; that's completely against common sense.
I hope the esp32 cannot operate without power.
This is not an exact model of reality, there are things that are just not modelled.
I can't believe the ESP32's EN pin can withstand a 5kV voltage; that's completely against common sense.
I hope the esp32 cannot operate without power.
This is not an exact model of reality, there are things that are just not modelled.
Quote from desmondchan71 on October 10, 2025, 1:34 pmHello,
The PIC Micro-controllers, 74XX ICs and CD4XXX ICs are missing from the latest 2.0.0 release. I copied them from 1.1 to 2.0 and they seemed to be working.
Thank you.
Hello,
The PIC Micro-controllers, 74XX ICs and CD4XXX ICs are missing from the latest 2.0.0 release. I copied them from 1.1 to 2.0 and they seemed to be working.
Thank you.
Quote from arcachofo on October 10, 2025, 1:49 pmQuote from desmondchan71 on October 10, 2025, 1:34 pmHello,
The PIC Micro-controllers, 74XX ICs and CD4XXX ICs are missing from the latest 2.0.0 release. I copied them from 1.1 to 2.0 and they seemed to be working.
Thank you.
74XX ICs and CD4XXX ICs are not included in 2.0.0 because is quite outdated, there is a new 7400 set optimized for this version.
You can use files from previous versions, but the default option is to install from simulide GUI:
This way you can update if there is some change:
Quote from desmondchan71 on October 10, 2025, 1:34 pmHello,
The PIC Micro-controllers, 74XX ICs and CD4XXX ICs are missing from the latest 2.0.0 release. I copied them from 1.1 to 2.0 and they seemed to be working.
Thank you.
74XX ICs and CD4XXX ICs are not included in 2.0.0 because is quite outdated, there is a new 7400 set optimized for this version.
You can use files from previous versions, but the default option is to install from simulide GUI:
This way you can update if there is some change:

Quote from LWT98709 on October 10, 2025, 3:22 pmFeature request : File open dialog :
Since the program still recognizes .sim1 files, can we add the ability to open .sim1 files to the file open dialog? Or change the name to .sim* so that it recognizes both .sim1 and .sim2 files?
During the transition from version 1.x to 2.x, this will be less disruptive for users, who may believe it's completely incompatible and that their old files are lost. Not everyone think to switches to *.* when opening a file.
Feature request : File open dialog :
Since the program still recognizes .sim1 files, can we add the ability to open .sim1 files to the file open dialog? Or change the name to .sim* so that it recognizes both .sim1 and .sim2 files?
During the transition from version 1.x to 2.x, this will be less disruptive for users, who may believe it's completely incompatible and that their old files are lost. Not everyone think to switches to *.* when opening a file.
Quote from arcachofo on October 10, 2025, 3:32 pmQuote from LWT98709 on October 10, 2025, 3:22 pmFeature request : File open dialog :
Since the program still recognizes .sim1 files, can we add the ability to open .sim1 files to the file open dialog? Or change the name to .sim* so that it recognizes both .sim1 and .sim2 files?
During the transition from version 1.x to 2.x, this will be less disruptive for users, who may believe it's completely incompatible and that their old files are lost. Not everyone think to switches to *.* when opening a file.Yews, you are right.
Quote from LWT98709 on October 10, 2025, 3:22 pmFeature request : File open dialog :
Since the program still recognizes .sim1 files, can we add the ability to open .sim1 files to the file open dialog? Or change the name to .sim* so that it recognizes both .sim1 and .sim2 files?
During the transition from version 1.x to 2.x, this will be less disruptive for users, who may believe it's completely incompatible and that their old files are lost. Not everyone think to switches to *.* when opening a file.
Yews, you are right.
Quote from Imm on October 28, 2025, 2:38 amHello everyone! For some reason, the compiler is not available for selection in the test build. How can I solve this?
Hello everyone! For some reason, the compiler is not available for selection in the test build. How can I solve this?
Quote from arcachofo on October 29, 2025, 9:19 amYou must add the files for the compilers you want to use.
If you just want the same as version 1.1.0, then copy data/codeeditor folder from 1.0.0 to your User Data Folder.
Some more info:
https://simulide.com/p/file-organization/#user-data-folder
You must add the files for the compilers you want to use.
If you just want the same as version 1.1.0, then copy data/codeeditor folder from 1.0.0 to your User Data Folder.
Some more info:
https://simulide.com/p/file-organization/#user-data-folder
Quote from acebrian on November 16, 2025, 2:54 pmI have been testing the experimental support for the ESP32 (GPIO and I2C only).
I think adding the option to work with MicroPython on the ESP32 in SimulIDE could be interesting.
I can confirm that the QEMU being used does support it:
1) Create the MicroPython image:
dd if=/dev/zero bs=1M count=4 | tr "\000" "\377" > flash.bindd if=ESP32_GENERIC-20250911-v1.26.1.bin of=flash.bin bs=1K seek=4 conv=notrunc2) Run the MicroPython image with QEMU, adding the serial console:
./data/esp32/qemu-system-xtensa 1431Esp32-1 qemu-system-xtensa \-M esp32-simul \-L ./data/esp32/rom/bin/ \-drive file=../flash.bin,if=mtd,format=raw \-drive file=./data/esp32/esp32.efuse,if=none,format=raw,id=efuse \-global driver=nvram.esp32.efuse,property=drive,value=efuse \-global driver=timer.esp32.timg,property=wdt_disable,value=true \-serial stdioarena ok: 1431Esp32-1
arena mapped 24 bytes
-----------------------------------
qemu-system-xtensa
-M esp32-simul
-L ./data/esp32/rom/bin/
-drive file=../flash.bin,if=mtd,format=raw
-drive file=./data/esp32/esp32.efuse,if=none,format=raw,id=efuse
-global driver=nvram.esp32.efuse,property=drive,value=efuse
-global driver=timer.esp32.timg,property=wdt_disable,value=true
-serial stdio
-----------------------------------
Adding SPI flash device
ets Jul 29 2019 12:21:46rst:0x3 (SW_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4112
load:0x40078000,len:15072
load:0x40080400,len:4
load:0x40080404,len:3332
entry 0x400805ac
Performing initial setup
MicroPython v1.26.1 on 2025-09-11; Generic ESP32 module with ESP32
Type "help()" for more information.
>>>3) Run a MicroPython sample program (led toggle):
>>> import umachine, utime>>> led = umachine.Pin(2, umachine.Pin.OUT)>>> while True:... print("o", end="")... led.toggle()... utime.sleep_ms(500)...oooooooooooooooooooooooooooooooooooooooo4) Save the MicroPython sample program as "boot.py" in the image so it runs automatically:
content = """import umachine, utimeled = umachine.Pin(2, umachine.Pin.OUT)while True:print("o", end="")led.toggle()utime.sleep_ms(500)"""
with open("boot.py", "w") as f:f.write(content)5) Test the final MicroPython image with SimulIDE:
Led toggle (GPIO) works as expected. I also tried connecting the UART0 pins to a Serial Terminal but, logically, it does not work.
The QEMU serial console would need to be redirected to SimulIDE in order to interact with MicroPython.I also tried doing the same with the "devkitC", but I cannot find where to configure the firmware file that should be loaded:
Best regards.
I have been testing the experimental support for the ESP32 (GPIO and I2C only).
I think adding the option to work with MicroPython on the ESP32 in SimulIDE could be interesting.
I can confirm that the QEMU being used does support it:
1) Create the MicroPython image:
dd if=/dev/zero bs=1M count=4 | tr "\000" "\377" > flash.bindd if=ESP32_GENERIC-20250911-v1.26.1.bin of=flash.bin bs=1K seek=4 conv=notrunc
2) Run the MicroPython image with QEMU, adding the serial console:
./data/esp32/qemu-system-xtensa 1431Esp32-1 qemu-system-xtensa \ -M esp32-simul \ -L ./data/esp32/rom/bin/ \ -drive file=../flash.bin,if=mtd,format=raw \ -drive file=./data/esp32/esp32.efuse,if=none,format=raw,id=efuse \ -global driver=nvram.esp32.efuse,property=drive,value=efuse \ -global driver=timer.esp32.timg,property=wdt_disable,value=true \ -serial stdio
arena ok: 1431Esp32-1
arena mapped 24 bytes
-----------------------------------
qemu-system-xtensa
-M esp32-simul
-L ./data/esp32/rom/bin/
-drive file=../flash.bin,if=mtd,format=raw
-drive file=./data/esp32/esp32.efuse,if=none,format=raw,id=efuse
-global driver=nvram.esp32.efuse,property=drive,value=efuse
-global driver=timer.esp32.timg,property=wdt_disable,value=true
-serial stdio
-----------------------------------
Adding SPI flash device
ets Jul 29 2019 12:21:46rst:0x3 (SW_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4112
load:0x40078000,len:15072
load:0x40080400,len:4
load:0x40080404,len:3332
entry 0x400805ac
Performing initial setup
MicroPython v1.26.1 on 2025-09-11; Generic ESP32 module with ESP32
Type "help()" for more information.
>>>
3) Run a MicroPython sample program (led toggle):
>>> import umachine, utime>>> led = umachine.Pin(2, umachine.Pin.OUT)>>> while True:... print("o", end="")... led.toggle()... utime.sleep_ms(500)...oooooooooooooooooooooooooooooooooooooooo
4) Save the MicroPython sample program as "boot.py" in the image so it runs automatically:
content = """import umachine, utimeled = umachine.Pin(2, umachine.Pin.OUT)while True: print("o", end="") led.toggle() utime.sleep_ms(500)"""
with open("boot.py", "w") as f: f.write(content)
5) Test the final MicroPython image with SimulIDE:

Led toggle (GPIO) works as expected. I also tried connecting the UART0 pins to a Serial Terminal but, logically, it does not work.
The QEMU serial console would need to be redirected to SimulIDE in order to interact with MicroPython.
I also tried doing the same with the "devkitC", but I cannot find where to configure the firmware file that should be loaded:

Best regards.
Quote from arcachofo on November 17, 2025, 9:25 amHi, nice to see MicroPython running here...
UART will be routed to the MCU Pins, like other MCUs. Same than TWI, I2C, etc.
I have been working to implement Qemu STM32 inerface to SimulIDE, as it seems simpler to me than Esp32.
Now I'm taking a break because my brain hurts trying to understand Qemu, but I got most important peripherals more or less working. Still very raw but as a proof of concept is ok.
- GPIOs, with Remap and Pin change interrupts.
- Some Timers, with PWM, input capture, some Interrupts.
- UART, send and receive, some interrupts.
- TWI, send and receive.
- SPI, send and receive.
Esp32 was synchronized with SimulIDE only one way, SimulIDE could not send events to Qemu.
Now 2 way synchronization is implemented, which allow for Pin change Interrupts, Timer Input capture, UART receive, etc.
I still have to port these changes to Esp32, but the framework is more or less working.
About "devkitC":
You can edit SimulIDE_xxx/data/espressif/devkitC/devkitC.sim1 line 5 and change to mainComp="true".Now loading firmware and Serial Monitor by context menu is implemented like other MCUs.
Soon I will port changes to Esp32 and fix a bunch of minor issues...
Hi, nice to see MicroPython running here...
UART will be routed to the MCU Pins, like other MCUs. Same than TWI, I2C, etc.
I have been working to implement Qemu STM32 inerface to SimulIDE, as it seems simpler to me than Esp32.
Now I'm taking a break because my brain hurts trying to understand Qemu, but I got most important peripherals more or less working. Still very raw but as a proof of concept is ok.
- GPIOs, with Remap and Pin change interrupts.
- Some Timers, with PWM, input capture, some Interrupts.
- UART, send and receive, some interrupts.
- TWI, send and receive.
- SPI, send and receive.
Esp32 was synchronized with SimulIDE only one way, SimulIDE could not send events to Qemu.
Now 2 way synchronization is implemented, which allow for Pin change Interrupts, Timer Input capture, UART receive, etc.
I still have to port these changes to Esp32, but the framework is more or less working.

About "devkitC":
You can edit SimulIDE_xxx/data/espressif/devkitC/devkitC.sim1 line 5 and change to mainComp="true".
Now loading firmware and Serial Monitor by context menu is implemented like other MCUs.
Soon I will port changes to Esp32 and fix a bunch of minor issues...
