The SimulAVR program is a simulator for the Atmel AVR family of microcontrollers (ATtiny and ATmega). SimulAVR can be used either standalone or as a remote target for avr-gdb. There is a python and TCL interface. When used in gdbserver mode, the simulator is used as a back-end so that avr-gdb can be used as a source level debugger for AVR programs. SimulAVR started out as a C based project written by Theodore Roth in 2001. Klaus Rudolph started then in 2004 to rewrite the hardware simulation part in C++. Only the instruction decoder and the avr-gdb interface are mostly copied from the original simulavr sources. This C++ based version was known as simulavrxx until it became feature compatibile with the old simulavr code, then it was renamed back to simulavr.