Skip to main content

Arduino Uno Simulation

The Arduino Uno is the most popular board in the Arduino family. It is powered by the ATmega328p chip, which has 32KB of Flash program memory, 2KB of SRAM, and 1KB of EEPROM.


Getting Started

Place an Arduino Uno on the canvas and open the code editor by clicking on the Code tab. Write your Arduino sketch using the standard Arduino API.

void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}

Pin Layout

Pins 0–13 are digital GPIO pins. Pins A0–A5 double as analog input pins in addition to being digital GPIO pins.

Digital pins 3, 5, 6, 9, 10, and 11 have hardware PWM support.

Power Pins

The simulator exposes the following power pins:

PinVoltage
5V5V
3.3V3.3V
GND0V
Vin9V
IOREF5V

Special Pin Functions

PinFunctionSignal
0Serial (USART)RX
1Serial (USART)TX
2External interruptINT0
3External interruptINT1
10SPISS (Chip select)
11SPIMOSI
12SPIMISO
13SPISCLK (Clock)
A4I2CSDA (Data)
A5I2CSCL (Clock)

On-Board LED

The built-in LED on digital pin 13 is simulated. Use LED_BUILTIN to control it:

pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);

Simulation Features

FeatureStatusNotes
Processor (ATmega328p)✔️
GPIO✔️Including external and pin change interrupts
8-bit Timers✔️Timer0, Timer2
16-bit Timer✔️Timer1
PWM✔️Pins 3, 5, 6, 9, 10, 11 — used by analogWrite(), Servo, tone
ADC✔️analogRead() on pins A0–A5
USART✔️Used by Serial
SPI🟡Master mode only
I2C🟡Master mode only
EEPROM✔️
Watchdog Timer✔️
Analog ComparatorNot yet supported

Legend:

  • ✔️ Supported
  • 🟡 Partial support
  • ❌ Not yet supported

Simulation Speed

The Arduino Uno runs at a 16 MHz clock frequency, matching real hardware.


Practical Limitations

  • SPI and I2C are master mode only — slave mode is not supported
  • No analog comparator — if your project uses the analog comparator, it cannot be simulated at this time
  • Timing may differ slightly from real hardware — most Arduino code is unaffected