Parts ReferenceArduino UNO R3

Arduino UNO R3

The Arduino UNO R3 in de:volt simulates an ATmega328P running at 16 MHz via avr8js. It executes compiled Intel HEX firmware in the browser WebWorker alongside the MNA analog engine.

Pinout

PinLabelNotes
D0–D13Digital I/OD3/D5/D6/D9/D10/D11 support PWM (analogWrite)
A0–A5Analog input6 analog channels on the ATmega328P’s 10-bit ADC; analogRead returns 0–1023
5VVCC5 V supply rail
GND, GNDGroundTwo GND pins
RSTRESETPull low to reset the MCU
IOREF—Connected to 5 V internally
3V3—Not driven; placeholder pin
VIN—Not actively modelled
AREF—Analogue reference; not modelled

Onboard LEDs

LEDCondition
ON (green)Board has power (USB cable connected)
L (amber)D13 output is HIGH
TX (amber)UART transmit activity, when the sketch’s serial output is modelled
RX (amber)UART receive activity, same caveat

TX/RX are unlit unless genuine UART activity is detected. They are not decorative.

Simulator behaviour

  • Digital output: each pin is either high-Z input, driven HIGH (5 V via small series resistance), or driven LOW (GND).
  • Digital input: the pin voltage is sampled each sim step and fed back into the MCU via PINX registers.
  • PWM (analogWrite): Timer 0/1/2 PWM is supported by avr8js; the duty cycle determines pin drive fraction.
  • ADC (analogRead): each sim step feeds the A0–A5 pin voltages into the ADC, so analogRead returns a 10-bit reading (0–1023) against a 5 V reference. The AREF pin is not connected, so an external reference also reads as 5 V.
  • Timing: the MCU advances 16 million clock cycles per second of simulated time, so delay, millis, and micros count simulated time. When the simulation runs slower than real time, they fall behind the wall clock.
  • Serial: UART hardware is present but TX/RX activity is only surfaced if avr8js exposes the USART register state.

Simulator limitations

  • No I2C, SPI, or EEPROM simulation.
  • No bootloader; firmware loads directly into flash.
  • Circuits saved before the board’s footprint changed may show slightly misaligned wires; re-place the component to fix them.

Loading firmware

Use the Sketch tab in the Inspector panel to upload a compiled .hex file or load a built-in example. See Writing Arduino Sketches for compilation instructions.