Not sure I can help much because I've never used one. They do exist. Many are aimed particularly at the Arduino but there are also simulators for the AVR chipset which the Arduino is based on.
There are three reasons why I've not used a simulator:
- Care is needed emulating the circuit that the Arduino is connected to. You can end up chasing your tail if that set-up is faulty. I find it easier to debug a real Arduino plus electronics with an oscilloscope. I've never done anything complex enough to justify a simulation.
- On the software side I'm both old fashioned and expensively trained. As 'C' is 'C', I test and debug all the Arduino functions that aren't hardware specific on Linux. Linux has lots of heavy duty development tools.
- Choosing a simulator and learning to use it is hard work. For the Arduino there doesn't seem to be a single straightforward choice. Instead, there are several each with advantages and disadvantages that I don't really understand. Lazy I know, but I can't be bothered to investigate. If I really needed a simulator I'd put the effort in, perhaps going direct to the AVR tooling.
If anyone can recommend a simulator I'd be pleased to hear of it. The main thing I miss on the Arduino is onboard debugging: I suspect it's not available for the Arduino simply because it's a hobby platform. Arduinos are not intended to replace the grown-up tools available for the AVR.
Dave
Edited By SillyOldDuffer on 29/09/2017 16:20:43