Simulator for Arduino v1.04

The latest version of Simulator for Arduino v1.04B has just been released. This is a free download from here and gives a 30 minute trial and then 30 days after following an unlock process using an email address to prevent spammers. There is an option to use a standard noemail@thank.you to stay anonymous but the email address is used mainly for update notifications.

So far, the Simulator has over 50k users logged (note some of these may be duplicates) with just under 10k of these taking up the Pro option.

Simulator for Arduino can simulate most parts of an Arduino sketch including classes, objects, interrupts, multi-line expressions and multi-expression lines with debugging features such as breakpoints, single step debugging, external stimulus files, trace, graphical logic analyzing, variable watching and many more features. Most features have been added as user requests but as the simulator has become more mature with less crashes, there has been much less feedback.

Some limitations which are mainly due to the effort required are no pointers, windows only, and some issues with custom libraries.

The datasheet is available here and webhelp is here

Any comments, reviews, criticicm and feedback will be appreciated and considered.

I have been trying the Simulator for Arduino for a while and so far it's been helpful in developing and troubleshooting my code. In other discussions of pros and cons of simulators it has been pointed out that Arduino boards and the peripheral hardware are cheap, so why bother with a simulator. I find I use the Simulator in combination with a regular Arduino IDE and board. Since the Simulator allows you to step through the code one line at at time, it can be particularly useful in determining whether sections of code like nested loops, conditional statements and arrays are running properly.

Actual boards and peripheral devices are the final goal of writing the code, of course. The challenge comes after the sketch has been compiled and loaded...and nothing happens. Sure, you can pepper your code with Serial.print() statements, but a well-designed simulator can add much more functionality and speed to the troubleshooting process.

Although there is no actual hardware connected to the Simulator virtual board, it is possible to step through each line of code and enter input variable values on the fly (See screenshot of Variable Window).

The Simulator for Arduino is not free, but the cost is quite modest. The tech support has been very responsive and helpful. Because this application is not a "freebie", my hope is that it will continue to be supported and developed.

SimulatorScreenshot-1.jpg

IMO, if a user understands the basic sketches that come with the IDE there is zero need for a tool like this.
If they don't understand these sketches, they need practice, nothing else.

.