Skip to content

@dsalychev dsalychev released this Mar 16, 2019 · 20 commits to master since this release

I'm glad to share the very first and preview release of MCUSim-0.2.

It's been a long path started back in December of 2016 with a simple idea that
there should be an accurate simulator of the 8-bit AVR microcontrollers which
can be integrated into SPICE.

I'd like to thank everyone who helped this project to achieve such a humble,
but important milestone like a preview release:

Iyoss ( is her work, project discussions and ideas)
Alexander Salychev (helped with headers and datasheets for ATmega8A and ATmega328P a lot)
Pawel Obarzanek (helped with ATmega328P, lots of project discussions and ideas)
Darren Kulp (fixed 32-bit CALL and JMP decoding in 0.1.97)

  • New features:

    • Support of ATmega8A with initialization (fuses), timers/counters and
      a partial implementation of USART (enough to program via bootloader) and
    • Initial support of ATmega328P with initialization (fuses) and a partial
      implementation of timers/counters and interrupts
    • Lua scripts can be used during a simulation process to substitute
      important parts of a circuit (external EEPROM, humidity sensor,
      MOSFET switch, etc) or intercept it in general
    • Ability to switch between LuaJIT and a standard Lua implementation to
      run scripts (LuaJIT provides a significant performance improvement and
      used by default)
    • A single configuration file per circuit
    • Firmware files for AVR8 in Intel HEX is the only supported format at the
    • I/O registers of a simulated AVR8 can be dumped to VCD file
    • MCUSim can be complied as an XSPICE code model library ( to be
      loaded into NGSpice (checkout ATMEGA8A-with-mosfet-switch example)
  • Bug fixes:

    • many and many bugs fixed (including the most important ones in a decoder
      of the AVR8 instructions)
Assets 8
You can’t perform that action at this time.