Why would anyone need an Arduino simulator? You can get a board so easily and in such an affordable price. Well, sometimes you might be missing some parts of your circuit, and running the code on the emulator is always a good idea for debugging before trying it on the actual board!
There are a few simulators available (free or commercial), I have tried some of them. Some have very basic features and might require some extra skills for setting them up and using, some are very easy to use and provide great functionalities. Here is the list:
- Simulator for Arduino (Free, Windows only)
- Simuino (Free, Linux, source code available)
- Virtual Breadboard (Commercial, Windows)
After evaluating your sketch through simulation you can also upload the sketch to your actual board through the Virtual Breadboard application.
More info about the book in Chapter 4.
Special thanks to Ira Laefsky for providing the first link.