Free virtual Uno simulation environment

Regarding....

How does it handle complex external hardware?

... I would encourage people using the simulator to teach Arduino use to encourage a good design/ development skill along the road to coping with the fact that the simulator probably WON'T simulate every possible bit of external kit:

"Stuff" boils down to inputs and outputs.

For a maybe-almost-too-simple example: Suppose I was using the simulator to develop software for a system to unlock my front door if I press the right buttons on a keypad.

In the final product, the Arduino will make an output high to make the door-lock-thingie unlock. FOR THE SIMULATION, I doubt that there is a door-lock-thingie "device" in the simulator. But there will be an LED. If I can "do" the LED in the simulation, I've solved the Arduino and software problems for doing the door lock in the real world. Yes... there are also some electronics issues... but I can make a great start on the overall road to success with the simulator.

Three cheers for this EXCELLENT initiative. I haven't played with it, but if it even ALMOST works, let's all get busy on... Facebook?... ick!... etc, and GET THE WORD OUT. If it even almost works, let's make getting it working even better worth the time of the people behind it.

And no, I'm not one of them (^_^)