Educational Arduino Simulator for Uno

Hi Everyone:

I just posted a new version of my (completely free, no time-limit, educational) UnoArduSim.exe simulator for Windows OS today at UnoArduSim
The executable is unsigned so you will get the usual Windows warning – please check out the site and Help files first to assure yourself this is something legitimate that I have created for the Arduino community ( I am a retired professor and a professional engineer – you can see my old Queen’s web page at

UnoArduSim allows you to investigate and/or test and debug entire projects targetted to an Uno board without needing any actual hardware (as long as you only need the I/O devices that UnoArduSim supports). Or, you can often debug code snippets/functions from projects targetted to other boards (as long as code snippets do not exceed Uno RAM limitations, and being aware of pin differences, etc.).

You add and configure generic virtual I/O devices in a Lab Bench Pane, load a program, and can then Step Into, Step Over, Step Out Of, Run, Halt, Animate etc with a simultaneous view of all local and global Variables. A fully syntax-highlighted View/Edit window allows you to make program changes and see the effect quickly without having to go through the recompile/download process with a real Uno. The generic I/O devices provided are: Servo motor(s), DC gear-motor(s), Serial Monitor, SoftwareSerial monitor(s), SPI slave(s), I2C slave(s), Digital Pulser(s), Analog FuncGen(s), Piezo speaker(s), Push Buttons, LEDs, Pullup/Pulldown resistors, and Analog Slider Pot(s).

Pin Waveform windows can also be opened to let you see the pin actions your program causes (and you can listen to any pin’s activity with a piezo speaker I/O device).


Stan Simmons P.Eng.
Associate Professor (retired)
Queen’s University Dept of Electrical and Computer Engineering
Kingston Ontario Canada

I just tried your link using Chrome and the link appears to be broken.

If you click on "arrow" icon, the download is ok.

One question: is possible to get the source code of this program?


Just tried to download it again, and got a "Failed - Server Error". Anyone else having problems using the link?


I'm using it and it works nice, I find it very useful.

Now, is it possible to save the pins layout associated? Having to reconnect everything is not nice; ideally, if it can be associated to the ino...

Great project.


OK OK now I found that option, thanks.

How do you want to simulate hardware that has analog inputs and other special hardware features like counters and interrupt handling ?

I know, everything is possible - but is it worth the effort?

this simulator help me a lot in learning Arduino. I thank you Professor for your kind invention Sir.

Hi, we just tried this, and tried loading 6 sketches and found none of them worked. Simple instructions such as Serial.begin(31250); failed - Bad Baud rate.

The Serial Monitor also does not seem to work.

For example, the simple sketch below

float i1,i2;

void setup() {
  // put your setup code here, to run once:


int actual(int a)

float getit(int x)

float getit2(float a, float b)
 return ( a+b+3.3 );

void loop() {
  // put your main code here, to run repeatedly:

    if ((actual(6)>5) and (actual(7)>6)) {
        i1 = 1;

    if ((actual(4)>5) and (actual(7)>6)) {
        i1 = 2;

    if ((actual(6)>5) and (actual(5)>6)) {
        i1 = 3;

    if ((actual(4)>5) and (actual(5)>6)) {
        i1 = 4;

 i2 = getit2(3,getit(20));
 i1 = getit(5);
 i2 = getit2(3,4);

Have a look at our Simulator here: We also had a lot of issues until we added in some auto unit testing features.

I am a beginner studying programming at UnoArduSim (Arduino Simulation). I am still confused by how to use the Seven Segment module because there are only 2 addresses namely the address to the pin and cs *. How do you use it and how is the program syntax?