Why Use It

Arduino is a great platform, but If you're trying to debug a program with a mix of software bugs and hardware issues, you could use a free helping hand! UnoArduSim.exe allows you to do a real-time test of most Arduino programs (for Uno) without needing any actual hardware. Supported libraries are: SD.h, Stepper.h, Servo.h, SoftwareSerial.h, Wire.h, SPI.h, and EEPROM.h (all for the Arduino V1.6.6 release). 

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. 

UnoArduSim is a free educational tool for everyone to use.

My Background

I had developed a number of simulators while working at Queen's University's Department of Electrical and Computer Engineering, and UnoArduSim.exe is my newest one.