Skip to content
Home > Components > Boards > Arduino Uno

Arduino Uno

The quintessential microcontroller board that launched the maker revolution, based on the reliable ATmega328P.

Component Preview

Arduino UnoUNO R3

The Arduino Uno is a microcontroller board based on the ATmega328P. It is the most used and documented board of the whole Arduino family. It has 14 digital input/output pins, 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button.

BoardsMicrocontrollerAVR

Overview

The Uno operates at 5V. It can be powered via the USB connection or with an external power supply via the DC barrel jack. The power source is selected automatically.

Pin Reference

PinTypeDescription
D0-D13digitalDigital I/O pins. Pins 3, 5, 6, 9, 10, 11 support PWM output.
A0-A5analogAnalog input pins. These can also act as digital I/O.
+5VpowerRegulated 5V output (or input if not powered via USB/VIN).
3.3VpowerRegulated 3.3V output (provided by the on-board regulator).
VinpowerInput voltage (7V - 12V) when using an external power source.
GNDpowerGround pins.
RESETdigitalReset pin. Bring this line LOW to reset the microcontroller.
AREFanalogAnalog Reference pin. Used to set the reference voltage for analog inputs.

Configurable Attributes

(Currently, microcontroller boards in the simulator do not have configurable graphical attributes. You upload code to them directly via the editor.)

Wiring Diagram (Analog Read Example)

A standard setup to read an analog value from a slide potentiometer and indicate its state via an LED.

  1. Connect the slide potentiometer's VCC to 5V, GND to GND, and OUT to A0.
  2. Connect a 220-ohm resistor to ~5.
  3. Connect the other end of the resistor to the Anode of an LED.
  4. Connect the Cathode of the LED to GND.

Wiring Diagram

Example Arduino Code

This code maps the analog value from the potentiometer (0-1023) to a PWM value (0-255) to fade the LED on pin 5.

cpp
const int potPin = A0;  // Analog pin for potentiometer
const int ledPin = 5;   // PWM pin for LED

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(potPin);
  
  // Map 0-1023 to 0-255 for PWM
  int brightness = map(sensorValue, 0, 1023, 0, 255);
  
  analogWrite(ledPin, brightness);
  
  Serial.print("Analog: ");
  Serial.print(sensorValue);
  Serial.print(" | Brightness: ");
  Serial.println(brightness);
  
  delay(10);
}

Simulation Notes

  • In OpenHW Studio, the Arduino Uno acts as the "brain" of your project.
  • The built-in LED (marked L on the board) is linked to pin 13 and will visually toggle when that pin is driven HIGH or LOW.
  • Make sure you select "Arduino Uno" in the board dropdown menu of the editor before compiling your code.

Released under the MIT License.