I just posted a new version of my (completely free, no time-limit, educational) UnoArduSim.exe simulator for Windows OS today at UnoArduSim
The executable is unsigned so you will get the usual Windows warning – please check out the site and Help files first to assure yourself this is something legitimate that I have created for the Arduino community ( I am a retired professor and a professional engineer – you can see my old Queen’s web page at http://www.ece.queensu.ca/People/S-J-Simmons/).
UnoArduSim allows you to investigate and/or test and debug entire projects targetted to an Uno board without needing any actual hardware (as long as you only need the I/O devices that UnoArduSim supports). Or, you can often debug code snippets/functions from projects targetted to other boards (as long as code snippets do not exceed Uno RAM limitations, and being aware of pin differences, etc.).
You add and configure generic virtual I/O devices in a Lab Bench Pane, load a program, and can then Step Into, Step Over, Step Out Of, Run, Halt, Animate etc with a simultaneous view of all local and global Variables. A fully syntax-highlighted View/Edit window allows you to make program changes and see the effect quickly without having to go through the recompile/download process with a real Uno. The generic I/O devices provided are: Servo motor(s), DC gear-motor(s), Serial Monitor, SoftwareSerial monitor(s), SPI slave(s), I2C slave(s), Digital Pulser(s), Analog FuncGen(s), Piezo speaker(s), Push Buttons, LEDs, Pullup/Pulldown resistors, and Analog Slider Pot(s).
Pin Waveform windows can also be opened to let you see the pin actions your program causes (and you can listen to any pin’s activity with a piezo speaker I/O device).
Stan Simmons P.Eng.
Associate Professor (retired)
Queen’s University Dept of Electrical and Computer Engineering
Kingston Ontario Canada