An Arduino Simulator
A great way to learn programming and to learn about electronics at the same time.
Program a simulated Arduino board, connect it to a simulated circuit and watch the program run.
Supports most of the Arduino C programming language (currently no switch statements or multi-dimensional arrays, but I am working on that)
Circuits can include wires, resistors and LEDs, but more components will be available soon