Provides a virtual target Uno board and allows the user to choose, and interface to, one or more of several types of virtual input/output devices

UNOARDUSIM
Free Software
Free
Offline
Arduino UNO

UnoArduSim provides a virtual target Uno board and allows the user to choose, and interface to, one or more of several types of  virtual input/output devices. These include typical hobbyist DC gear-motor, stepper-motor,  and servo motors,  generic serial devices with selectable baud rate, generic I2C and SPI slaves, an SD card with  SPI interface, digital and analog waveform generators, piezo speakers, LED's. push-buttons, resistive pull-ups and pulldowns, and a slider potentiometer. All devices are electrically (and mechanically)  modelled.
You can load and edit (and correct) your Arduino program, then run, run-to, halt, step-into, step-over, and step-out-of  while watching all accessible  program variables and monitoring pin levels (and even pin waveforms).  Simple and clear parse and execution error messages are provided.