Arduino Uno | Getting Started & Programming | Tutorial & Project

Introduction: Arduino Uno | Getting Started & Programming | Tutorial & Project

About: Tutorials & Projects on Arduino, Raspberry Pi, ESP32, ESP8266, Sensors, Shields, Internet of Things, DIY Electronics, Robotics and much more

Arduino Uno | Getting Started & Programming | Tutorial & Project


Arduino Uno is a microcontroller-based development board developed by It contains Atmel ATmega328P, 8-bit Microcontroller, which has a 32KB of Flash Memory, out of which 0.5KB used by the bootloader. It also has 2KB of SRAM and 1KB of EEPROM, which can be read and written with the EEPROM library. It runs on the clock speed of 16MHz. Arduino Uno uses Atmel ATmega16U2, 8-bit Microcontroller, as a USB-to-Serial Convertor.

Arduino Uno can be programmed with the Arduino IDE software. It allows you to write programs and upload them to your board. The board can be powered with an USB connection of 5V, via Type-B USB Connector or with an external power supply of 7V to 12V, via DC Power Jack.

Arduino Uno has several different kinds of pins, each of which is labeled on the board. Now, let’s see the function of each pins:

- Arduino Uno has 14 digital input/output pins, which are labeled 0 through 13. These pins are used for general purpose input/output and can be configured by using the pinMode(), digitalRead() and digitalWrite() functions.

- Arduino Uno also has 6 analog input pins, which are labeled A0 through A5. These pins are connected to onboard 6-Channel 10-Bit Analog-to-Digital Converter (ADC) and are used to read the analog voltages by using the analogRead() function.

Both digital and analog pins can tolerate a maximum of 5V and can provide or receive a maximum current of 40mA. Each of these pins has an internal pull-up resistor, which can be enabled by using the INPUT_PULLUP command.

- VIN Pin is used to power the board with an external power supply of 7V to 12V.

- 5V Pin provides a regulated 5V output from the board.

- 3.3V Pin provides a regulated 3.3V output from the board.

- GND Pins are the Ground pins.

- Digital Pin 0 and 1 are the Serial pins, which are labeled Rx and Tx, are used to receive and transmit TTL serial data.

- Digital Pin 2 and 3 are the External Interrupts pins, which can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value by using the attachInterrupt() function.

- Digital Pin 3, 5, 6, 9, 10 and 11 are the PWM pins, which are labeled with tilde, can provide 8-bit PWM output by using the analogWrite() function.

- Digital Pin 10, 11, 12 and 13 are SS, MOSI, MISO and SCK respectively are the SPI pins, which support SPI communication by using the SPI library.

- Analog Pin A4, A5 and SDA, SCL are the Two Wire Interface pins, which support Two Wire Interface or I2C communication by using the Wire library.

- AREF Pin is used to provide the reference voltage for the analog inputs and used with the analogReference() function.

- IOREF Pin is the input/output reference pin, which provides the voltage reference with which the microcontroller operates.

- Reset Pin is used to bring the line LOW to reset the microcontroller.

- ICSP Header consists of MOSI, MISO, SCK, Reset, 5V and GND pins, which enables us to burn the bootloader into the microcontroller.

- Reset Button is used to reset the microcontroller when pressed.

- There is a built-in LED which is connected to the Digital Pin 13.

In this tutorial, we will upload a simple Blink sketch, which will turn a LED on and off depending upon the pin value. When the pin value is HIGH, the LED turns on, and when the pin value is LOW, the LED turns off.



Now, let’s see the connections.

- Connect the anode of LED to the Digital Pin 13 of Arduino Uno, via a 220 Ohm Resistor.

- Connect the cathode of LED to the GND Pin of Arduino Uno.

- Connect the one end of USB cable to the Arduino Uno, and another end to the Computer.


In this tutorial, we will use Arduino IDE to program the board. Software and Source Code that are required:

Now, let’s program the board.

- Open the sketch in the Arduino IDE.

- Select the proper Board from the Tools menu of Arduino IDE.

- Select the proper Serial Port from the Tools menu of Arduino IDE.

- Now, click on the Upload button to upload the sketch to the board.

If the upload is successful, the message "Done uploading" will appear in the status bar of Arduino IDE. After a few seconds, you should see the LED starts blinking.



    • Water Contest

      Water Contest
    • Tiny Home Contest

      Tiny Home Contest
    • Creative Misuse Contest

      Creative Misuse Contest