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
| Pin | Label | Notes |
|---|---|---|
| D0–D13 | Digital I/O | D3/D5/D6/D9/D10/D11 support PWM (analogWrite) |
| A0–A5 | Analog input | 6 analog channels on the ATmega328P’s 10-bit ADC; analogRead returns 0–1023 |
| 5V | VCC | 5 V supply rail |
| GND, GND | Ground | Two GND pins |
| RST | RESET | Pull 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
| LED | Condition |
|---|---|
| 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
PINXregisters. - 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, soanalogReadreturns 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, andmicroscount 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.