MCUSim is a digital simulator and NGSpice library with microcontrollers. It is created to assist in circuit simulation, firmware debugging, testing and signal tracing.

Please note that the 8-bit AVR (RISC) microcontrollers are aimed at the moment. Feel free to start a discussion about any other family or architecture of the microcontrollers.



There is an mcusim.conf configuration file installed together with the mcusim binary and libmsim which can be used to tweak the program.

The best way to prepare your own simulation is to copy mcusim.conf to a new directory, adjust the options and run the simulator. Firmware and Lua files should also be placed there.

Lua scripts can be used to substitute models of the real devices during a simulation process. They may affect state of the chip in several ways, e.g. access registers, generate signals or terminate MCU.

Scripts are supposed to be external devices connected to the MCU of the simulated circuit (external EEPROM, humidity sensor, MOSFET switch, etc).

Registers of the simulated MCU can be saved into a VCD (value change dump) file and read using GTKWave viewer.


The latest preview release.


Last modified 19 months ago Last modified on May 15, 2019, 2:08:55 PM

Attachments (4)

Download all attachments as: .zip