Skip to content


Subversion checkout URL

You can clone with
Download ZIP
python wrapper for simavr which is AVR and arduino simulator
C Python C++
Branch: master
Failed to load latest commit information.
docs doc
pysimavr convert filename to str
tests fixing logger
.gitignore new setup+tox
.gitmodules simavr is a git submodule
LICENSE rename license fix MANIFEST
README.rst remove requirement: entrypoint2
TODO doc simplify pavement
requirements.txt remove requirement: entrypoint2 pep8
tox.ini tox


pysimavr is a python wrapper for simavr which is AVR and arduino simulator

  • python wrapper using swig
  • simavr source code is included for easier installation
  • object oriented interface on top of the generated interface
  • maximum speed can be real-time
  • serial communication
  • check simavr documentation
Known problems:
  • included simavr source code is not up to date
  • Python 3 is not supported
  • tested only on linux
  • more tests needed
  • PWM simulation is not real-time
  • missing PWM modes
  • a lot of messages on stdout
  • LCD simulator is not fully implemented
Possible usage:
  • unit test
  • simulator
Similar projects:

Basic usage

>>> from pysimavr.avr import Avr
>>> avr=Avr(mcu='atmega48',f_cpu=8000000)
>>> firmware = Firmware('lcd.elf')
>>> avr.load_firmware(firmware)
>>> from pysimavr.sim import ArduinoSim
>>> print ArduinoSim(snippet='Serial.print("hello!");').get_serial()


check simavr doc:

ignore these in simavr doc:
  • OpenGl (freeglut)
  • gcc-avr
  • avr-libc
  • make


  • install python

  • install pip

  • install swig (for source build only)

  • install header files and a static library for Python (for source build only)

  • install a compiler (for source build only)

  • install elf library

  • install the program:

    # as root
    pip install pysimavr


sudo apt-get install python-pip
sudo apt-get install swig
sudo apt-get install python-dev
sudo apt-get install gcc
sudo apt-get install libelf-dev
sudo pip install pysimavr
# optional for examples:
sudo pip install entrypoint2


# as root
pip uninstall pysimavr
Something went wrong with that request. Please try again.