Running a simulation of program

I have been using Picaxe for programming. I have downloaded the Arduino with the intention of trying it.
With Picaxe you are able to run a simulation of your program. This is so useful and works so well, that I find it hard to conceive fixing bugs without it.
There does not appear to be any equivalent facility with Arduino, or am I missing something.


There does not appear to be any equivalent facility with Arduino

There have been several attempts at building simulators for Arduino. LCDs, accelerometers, RFID, MIDI, gyros, etc. are all very difficult to write simulators for. There is NO substitute for real hardware operating under real conditions.

You only need to simulate your program running in chip. No need to try and simulate peripherals. If an output/input to these peripherals occur correctly then they can look after themselves, so to speak.
I assume that with Arduino, if there is a bug, it just won't go or maybe goes funny. How would I, as a raw beginner, or further up the track and writing complex programs, know where to begin getting the bugs out. One would have to be so methodical it would drive me crazy. I can see myself putting in more bugs than I am removing. You simply do not have any idea of what the programme is actually doing.
One other big advantage of being able to simulate, is that you are able to write your program and get it working, without having to build the physical circuit. Then you are able to see what size and style chip is required to do the job. You then design your circuit around this.
Have a look at Picaxe. Free to download.


How do most people debug programs on a PC? Using the debugger or using print statements? I can assure you that only a very small percentage of people use a debugger. Most people use print statements. That's primarily how you debug an Arduino program.

That and developing and testing small functions one at a time.

You could give this a try

Haven’t had a problem that couldn’t be solved with some print statements, and looking at a signal or two with a scope when external hardware was suspected to be acting up.