Arduino Uno
Complete Study Notes
Hardware · Pins · Microcontroller · Communication
For Students | Exam Prep | Viva Ready
Arduino Uno Study Notes • Page 1
Table of Contents
1. Introduction to Arduino
2. Types of Arduino Boards
3. Arduino Uno Hardware Overview
4. The ATmega328P Microcontroller
5. Power Pins Explained
6. Digital Pins
7. Analog Pins & ADC
8. Communication Protocols (UART · SPI · I2C)
9. USB to TTL Converter
10. ICSP Header
11. Reset Pin & Protection Diode
12. Shields
13. Picopower Technology
14. Short Questions for Exam
15. Viva Q&A; (10 Questions)
Arduino Uno Study Notes • Page 2
Introduction to Ardui
What is Arduino?
Arduino is an open-source electronics platform designed to make prototyping easy and accessible for
everyone — from students and hobbyists to professional engineers. It removes the complexity of low-level
hardware programming and lets you focus on building your idea.
• It consists of two parts: a hardware board and software (Arduino IDE).
• Programs written for Arduino are called sketches.
• Sketches are written in a simplified version of C/C++.
• Every sketch has two mandatory functions:
– setup() — runs once at startup to initialize settings.
– loop() — runs repeatedly forever, executing main logic.
• No deep electronics knowledge is required to get started.
■ Key Idea: Arduino bridges the gap between software and hardware, making it possible to interact with
the physical world through code.
Arduino Uno Study Notes • Page 3
Types of Arduino Boa
The Arduino family includes many boards, each designed for specific needs. All boards share the same
IDE and coding structure, making it easy to switch between them.
Board Key Feature Best For
Arduino Uno Most popular, ATmega328P, 5V logic Beginners, learning
Arduino Mega 54 digital pins, 16 analog, more memory Complex projects
Arduino Nano Compact size, same chip as Uno Space-constrained builds
Arduino Due 32-bit ARM, runs at 3.3V logic High performance tasks
Arduino Leonardo Built-in USB HID (acts as keyboard/mouse) USB device projects
Arduino Zero 32-bit, 3.3V, debugging support Advanced prototyping
■■ Note: Arduino Uno operates at 5V logic while Due and Zero use 3.3V logic. Never connect 5V
signals directly to 3.3V boards.
Arduino Uno Study Notes • Page 4
Arduino Uno Hardware O
The Arduino Uno is the most widely used Arduino board. Understanding its hardware components is
essential before programming it.
Main Components on the Board
Component Purpose
ATmega328P Main microcontroller — the brain of the board
ATmega16U2 / CH340 USB to TTL converter chip — handles PC communication
Crystal Oscillator 16 MHz clock — sets the speed of the microcontroller
Voltage Regulator Converts input voltage (7–12V) down to stable 5V
Reset Button Physically resets the microcontroller when pressed
Power LED Lights up when the board is powered
TX/RX LEDs Blink during serial data transmission and reception
ICSP Header 6-pin header for direct chip programming
Barrel Jack DC power input connector (2.1mm, center positive)
USB Port Type-B USB for power and communication with PC
Arduino Uno Study Notes • Page 5
The ATmega328P Microc
What is a Microcontroller?
A microcontroller is a complete tiny computer on a single chip. Unlike a microprocessor (which is just a
CPU), a microcontroller integrates everything needed to run a program — all inside one chip.
Component Purpose
CPU Processes instructions and runs the program
Flash Permanent program storage (survives power off)
SRAM Temporary runtime memory for variables
EEPROM Non-volatile user data storage
I/O Pins Connect to sensors, motors, displays
Timers Time events, generate PWM signals
ADC Convert analog voltages to digital numbers
UART/SPI/I2C Built-in communication peripherals
ATmega328P Specifications
Feature Detail
Manufacturer Microchip Technology (formerly Atmel)
Architecture 8-bit AVR RISC
Clock Speed 16 MHz (on Arduino Uno)
Flash Memory 32 KB — stores your uploaded sketch
SRAM 2 KB — runtime variables and stack
EEPROM 1 KB — user data, survives power off
Digital I/O 23 pins total
PWM Channels 6 channels
Analog Inputs 6 channels, 10-bit ADC
Operating Voltage 1.8V to 5.5V
Arduino Uno Study Notes • Page 6
Feature Detail
Communication UART, SPI, I2C built-in
"P" in name Picopower — low power consumption variant
Name Breakdown
• AT — Atmel, the original manufacturer
• mega — megaAVR product family
• 328 — model number
• P — Picopower (low power technology)
Memory Types Explained
Memory Size Volatile? Stores
Flash 32 KB No — permanent Your sketch / program code
SRAM 2 KB Yes — wiped on power off Variables, arrays, stack during runtime
EEPROM 1 KB No — permanent Settings, saved data between sessions
■ Analogy: Flash = your hard drive (permanent storage). SRAM = your RAM (fast but temporary).
EEPROM = a sticky note (small, permanent).
What Task Does ATmega328P Perform?
The ATmega328P has no fixed task. It is a blank, general-purpose microcontroller. Whatever program
you upload, that becomes its task. The phrase 'single task' means it runs only one uploaded program at a
time — not that it is limited to one type of job forever.
• Upload temperature code → it becomes a thermometer
• Upload motor code → it becomes a motor controller
• Upload robot code → it becomes a robot brain
Arduino Uno Study Notes • Page 7
Power Pins Explaine
Pin Voltage Direction Purpose
VIN 7–12V Input/Output Raw voltage in (via barrel jack) or out
5V 5V Output Regulated 5V for external components
3.3V 3.3V Output Regulated 3.3V for low-voltage modules
GND 0V Reference Ground — completes all circuits (×3 on board)
RESET — Input Pull LOW to reset the microcontroller
IOREF 5V (Uno) Output Tells shields the board's operating voltage
VIN Pin Detail
VIN is a bidirectional raw voltage pin. If you power the board via the barrel jack, VIN outputs that raw
voltage. If you supply 7–12V to the VIN pin directly, it powers the board through the onboard voltage
regulator.
■■ Important: Never supply 5V to VIN. The onboard regulator needs at least 7V input to output a stable
5V. Supplying less will result in an unstable or too-low operating voltage.
3.3V Pin — Why it Exists
Many modern sensors, WiFi modules (ESP8266, ESP32), and communication modules run on 3.3V logic.
Feeding them 5V would damage them permanently. The onboard 3.3V regulator provides a safe supply —
but with a current limit of only ~150mA. For modules that draw more current, use an external 3.3V
regulator.
IOREF Pin
IOREF stands for Input/Output Reference Voltage. It outputs the board's operating voltage so that
compatible shields can automatically detect and adjust their logic levels. On the Uno it outputs 5V. On a
Due or Zero it outputs 3.3V. For beginners it operates silently in the background and requires no manual
interaction.
Arduino Uno Study Notes • Page 8
Digital Pins
What are Digital Pins?
Digital pins work with only two voltage states — HIGH (5V) or LOW (0V). They can be configured as input
(reading a signal) or output (sending a signal).
State Voltage Binary
HIGH 5V 1
LOW 0V 0
Digital Pin Map — D0 to D13
Pin Special Function Notes
D0 (RX) Serial Receive (UART) Avoid for general use during serial comms
D1 (TX) Serial Transmit (UART) Avoid for general use during serial comms
D2 External Interrupt (INT0) Triggers interrupt on signal change
D3 ~ PWM + External Interrupt (INT1) PWM capable
D4 General digital I/O No special function
D5 ~ PWM PWM capable
D6 ~ PWM PWM capable
D7 General digital I/O No special function
D8 General digital I/O No special function
D9 ~ PWM PWM capable
D10 ~ PWM + SPI SS SPI Slave Select
D11 ~ PWM + SPI MOSI SPI data out
D12 SPI MISO SPI data in
D13 SPI SCK + Built-in LED Onboard LED connected here
PWM — Pulse Width Modulation
Arduino Uno Study Notes • Page 9
PWM is a technique that simulates analog output using a digital pin by rapidly switching between HIGH
and LOW. By controlling the duty cycle (how long it stays HIGH vs LOW), it can vary the effective voltage
seen by a component.
• PWM pins on Uno: D3, D5, D6, D9, D10, D11 (marked with ~ on board)
• Values: 0 to 255 (0 = always LOW, 255 = always HIGH)
• Common uses: LED dimming, motor speed control
■ Analogy: PWM is like a light dimmer switch — it flickers the light on and off so fast your eyes perceive
it as dimmer rather than fully on/off.
Arduino Uno Study Notes • Page 10
Analog Pins & the AD
What are Analog Pins?
Analog pins can read any voltage between 0V and 5V — not just ON/OFF. This is essential for sensors
that produce a continuous range of output voltages such as temperature sensors, potentiometers, and
light sensors.
Pin Analog Function Also Usable As
A0 Analog input Digital I/O
A1 Analog input Digital I/O
A2 Analog input Digital I/O
A3 Analog input Digital I/O
A4 Analog input I2C SDA (data line)
A5 Analog input I2C SCL (clock line)
The ADC (Analog to Digital Converter)
The ADC is built inside the ATmega328P chip — it is not a separate component on the board. When a
voltage enters an analog pin, the ATmega328P's internal ADC converts it into a digital number.
• Resolution: 10-bit ADC
• Output range: 0 to 1023 (because 210 = 1024 values)
• 0V → 0 | 2.5V → ~511 | 5V → 1023
Digital vs Analog — Comparison
Feature Digital Pins Analog Pins
Values 0 or 1 only 0 to 1023
Voltage read 0V or 5V only 0V to 5V (anything in between)
Output capable Yes No (input only on Uno)
Used for Buttons, LEDs, switches Sensors, potentiometers, LDRs
Count on Uno 14 (D0–D13) 6 (A0–A5)
Arduino Uno Study Notes • Page 11
■ Analogy: Digital pin = asking 'Is the door open or closed?' (two answers). Analog pin = asking 'How
wide open is the door?' (infinite gradations).
Arduino Uno Study Notes • Page 12
Communication Proto
Arduino Uno supports three built-in serial communication protocols — UART, SPI, and I2C. Each has
different characteristics and use cases.
UART — Universal Asynchronous Receiver Transmitter
• Pins: D0 (RX) and D1 (TX)
• Two-wire communication — one wire for sending, one for receiving
• Used for: serial monitor, USB communication, Bluetooth modules, GPS
• Asynchronous — no shared clock signal needed
SPI — Serial Peripheral Interface
• Pins: D10 (SS), D11 (MOSI), D12 (MISO), D13 (SCK)
• 4-wire protocol — fast, synchronous communication
• Master-slave architecture — Arduino is usually the master
• Used for: SD cards, displays, high-speed sensors
I2C — Inter-Integrated Circuit
• Pins: A4 (SDA) and A5 (SCL)
• Only 2 wires needed — data line (SDA) and clock line (SCL)
• Supports multiple devices on the same 2 wires using addresses
• Used for: sensors (BME280, MPU6050), LCD displays, RTCs
Protocol Wires Speed Multi-device? Best For
UART 2 Medium No (1-to-1) Serial terminal, Bluetooth
SPI 4 Fast Yes (with SS) SD cards, displays
I2C 2 Medium Yes (by addr) Many sensors on same bus
Arduino Uno Study Notes • Page 13
USB to TTL Conver
Why is it Needed?
Your computer communicates via USB, but the ATmega328P communicates via TTL serial (UART).
These are incompatible protocols, so a converter chip bridges the gap.
PC → USB → [USB-to-TTL Chip] → TX/RX → ATmega328P
Chips Used
• ATmega16U2 — used on official Arduino Uno boards
• CH340 / CP2102 — used on cheaper clone boards
TTL Signal Levels
• Logic HIGH = 5V
• Logic LOW = 0V
• Two lines: TX (transmit) and RX (receive)
Functions of the USB-to-TTL Converter
• Uploads sketches from PC to Arduino
• Enables the Serial Monitor for debug messages
• Provides two-way data exchange between PC and Arduino
■ When you plug Arduino into your PC via USB, the USB-to-TTL converter is what makes your PC
recognize and communicate with the board automatically.
Arduino Uno Study Notes • Page 14
ICSP Header
What is ICSP?
ICSP stands for In-Circuit Serial Programming. It is a 6-pin header that allows direct programming of the
microcontroller, bypassing the bootloader and USB chip entirely.
ICSP Pin Layout
Pin Name Function
1 MOSI Master Out Slave In — sends data to chip
2 VCC Power supply
3 SCK Serial Clock — synchronizes communication
4 MISO Master In Slave Out — receives data from chip
5 RESET Resets chip during programming
6 GND Ground reference
Two ICSP Headers on Uno
• ICSP1 — Programs the ATmega328P (main microcontroller)
• ICSP2 — Programs the ATmega16U2 (USB-to-TTL chip)
When to Use ICSP?
Situation Why ICSP is Used
Bootloader corrupted Cannot upload via USB; ICSP recovers the chip
Burning fresh bootloader New blank ATmega chip needs bootloader installed
Faster programming ICSP is faster than the bootloader method
Production programming Programming many boards quickly in manufacturing
■ Analogy: The bootloader is like a reception desk — all code passes through it. ICSP is a master key
that lets you bypass reception and go directly to the chip.
Arduino Uno Study Notes • Page 15
Reset Pin & Protection
Reset Pin
The RESET pin restarts the ATmega328P when it is pulled LOW — meaning connected to GND (0V).
The physical reset button on the board does exactly the same thing electrically.
State of RESET pin What Happens
HIGH (5V) — normal state Arduino runs normally
LOW (0V) — pulled to GND Arduino resets and restarts
Why 'Active LOW'?
The RESET pin is deliberately designed to trigger on LOW (0V) rather than HIGH (5V). This is a safety
design choice: electrical noise or random voltage spikes are more likely to accidentally bring a pin to
HIGH than to GND. Active LOW makes accidental resets far less likely.
Reverse Polarity Protection Diode
DC power has a fixed polarity — a definite positive (+) and negative (−) terminal. If connected backwards,
it can damage the microcontroller. The protection diode on the barrel jack input allows current to flow only
in the correct direction — blocking it completely if polarity is reversed.
Correct polarity → Diode allows current → Board works normally
Reversed polarity → Diode blocks current → Board is protected
■■ Common Misconception: 'DC has no polarity.' This is WRONG. DC absolutely has polarity — it
flows in one fixed direction with a defined positive and negative terminal. What DC does NOT do is
alternate or change polarity over time (unlike AC).
Arduino Uno Study Notes • Page 16
Arduino Shields
What is a Shield?
A shield is an add-on board that stacks directly on top of the Arduino Uno by plugging into its pin
headers. It extends the Arduino's capabilities without any extra wiring. The name comes from the fact that
it physically covers (shields) the top of the Arduino board.
How it Connects
Shields have female headers (sockets) on the bottom that match exactly with the Arduino's pins — so
they simply slot right on top. The IOREF pin helps compatible shields automatically detect whether they
are on a 5V or 3.3V board.
Common Shield Types
Shield Purpose
WiFi Shield Connects Arduino to the internet wirelessly
GSM Shield Sends SMS messages and makes phone calls
Motor Shield Controls DC motors, stepper motors, servo motors
Ethernet Shield Wired internet connection via RJ45
SD Card Shield Read and write data to a microSD card
Relay Shield Controls high-voltage home appliances safely
Display Shield Adds an LCD or TFT touchscreen
GPS Shield Location tracking and navigation
■ Analogy: Arduino is like a smartphone. Shields are like apps — each one adds a new specific
functionality, and you can swap them in and out as needed.
Arduino Uno Study Notes • Page 17
Picopower Technolo
What is Picopower?
Picopower is a low-power technology brand name developed by Atmel (now Microchip) built into certain
AVR microcontrollers. The 'P' at the end of ATmega328P stands for Picopower.
■■ Important: Although 'pico' in SI units means 10■¹², Picopower is a brand/marketing name — not a
literal unit. The chip does not consume 10■¹² watts. The word 'pico' was chosen to convey the idea of
extremely tiny power consumption.
Power Consumption Comparison
Mode Current Consumption
Active mode (16MHz, 5V) ~12 mA
Idle sleep mode ~3 mA
Power-save mode ~1 mA
Power-down mode ~0.1 µA (microamps!)
Sleep Modes Available
• IDLE — CPU sleeps, peripherals still running
• ADC Noise Reduction — reduces electrical noise during ADC readings
• Power Save — most things off, only timer running
• Power Down — almost everything off, maximum power savings
• Standby — similar to power down but with faster wake-up
Real World Applications
• Battery-powered remote sensors in fields
• Wearable electronics with small batteries
• IoT devices running on solar or coin cells
• Weather stations in remote locations
■ Fact: In Power Down mode, the ATmega328P consumes so little power (~0.1 µA) that a single
CR2032 coin cell could theoretically keep it alive for years.
Arduino Uno Study Notes • Page 18
Short Questions for E
Q1. What does Arduino consist of?
→ A hardware board and software (Arduino IDE).
Q2. What is a sketch?
→ A program written for Arduino, coded in simplified C/C++.
Q3. What does setup() do?
→ Runs once at startup to initialize settings and pin modes.
Q4. What does loop() do?
→ Runs repeatedly forever, executing the main program logic.
Q5. What is the brain of Arduino Uno?
→ The ATmega328P microcontroller.
Q6. What does ATmega328P stand for?
→ AT = Atmel, mega = megaAVR family, 328 = model number, P = Picopower.
Q7. What is the clock speed of Arduino Uno?
→ 16 MHz, set by an external crystal oscillator.
Q8. How much Flash memory does ATmega328P have?
→ 32 KB of Flash memory for storing the program.
Q9. What is SRAM used for?
→ Temporary runtime memory for variables and calculations. Wiped on power off.
Q10. What is EEPROM used for?
→ Permanent storage for user data that survives power off (1 KB).
Q11. What is the difference between Flash and EEPROM?
→ Flash stores the program/sketch. EEPROM stores small user data values.
Q12. What does PCB Mounted mean?
→ A component attached directly onto a Printed Circuit Board by soldering.
Q13. What is THT?
→ Through-Hole Technology — component pins pass through holes in the PCB.
Q14. What is the purpose of the VIN pin?
→ Raw voltage input (7–12V) to power the board, or to tap the input voltage if powered via barrel jack.
Q15. Why does Arduino Uno have both 5V and 3.3V pins?
→ 5V for components that run on 5V logic. 3.3V for modern sensors that would be damaged by 5V.
Q16. What is IOREF?
→ Input/Output Reference Voltage — tells shields the board's operating voltage (5V on Uno).
Arduino Uno Study Notes • Page 19
Q17. What does 'pulled LOW' mean?
→ The pin is connected to GND (0V), bringing its voltage to zero.
Q18. Why is the RESET pin active LOW?
→ For safety — electrical noise is less likely to accidentally pull a pin to GND than to 5V.
Q19. How many digital pins does Arduino Uno have?
→ 14 digital pins (D0 to D13).
Q20. How many analog pins does Arduino Uno have?
→ 6 analog pins (A0 to A5).
Q21. Which pins are PWM capable on Uno?
→ D3, D5, D6, D9, D10, D11 — marked with ~ on the board.
Q22. What is PWM?
→ Pulse Width Modulation — simulates analog output by rapidly switching a digital pin HIGH and LOW.
Q23. What is the ADC resolution on ATmega328P?
→ 10-bit ADC, giving values from 0 to 1023.
Q24. Where is the ADC located on Arduino Uno?
→ Built inside the ATmega328P chip — not a separate component.
Q25. What pins are used for I2C communication?
→ A4 (SDA — data) and A5 (SCL — clock).
Q26. What pins are used for SPI communication?
→ D10 (SS), D11 (MOSI), D12 (MISO), D13 (SCK).
Q27. What is ICSP?
→ In-Circuit Serial Programming — direct programming of the microcontroller bypassing the bootloader.
Q28. How many ICSP headers are on Arduino Uno?
→ Two — one for ATmega328P and one for ATmega16U2.
Q29. What is the purpose of the USB-to-TTL converter?
→ Bridges USB (PC) and TTL serial (microcontroller) so they can communicate.
Q30. Which chip acts as USB-to-TTL on official Arduino Uno?
→ ATmega16U2 (or CH340 on clones).
Q31. Does DC have polarity?
→ Yes — DC has a definite positive and negative terminal. It flows in one fixed direction.
Q32. What is Picopower?
→ A low-power technology by Atmel built into ATmega328P for ultra-low power sleep modes.
Q33. What is a shield?
→ An add-on board that stacks on top of Arduino to add new capabilities without extra wiring.
Arduino Uno Study Notes • Page 20
Q34. What is the reverse polarity protection diode?
→ A diode on the barrel jack that blocks current if the power supply is connected backwards.
Q35. What is the difference between a microcontroller and a microprocessor?
→ A microcontroller has CPU, RAM, Flash, and I/O all on one chip. A microprocessor is just the CPU.
Arduino Uno Study Notes • Page 21
Viva Practice — 10 Questions
These are detailed viva-style questions. Examiners often follow up with 'why' and 'what happens if'
questions, so focus on understanding the reasoning, not just the answer.
Q1. What is the difference between a microcontroller and a microprocessor?
A microcontroller is a complete system on a single chip — it has a CPU, RAM, Flash, and I/O pins all
built in. A microprocessor is just the CPU alone and needs external components to function.
Microcontrollers run one dedicated program for controlling a specific task, while microprocessors run
general-purpose operating systems with many programs simultaneously.
Q2. What is the purpose of the USB-to-TTL converter and which chip performs this function?
The USB-to-TTL converter bridges communication between the computer (USB protocol) and the
ATmega328P (TTL serial/UART). Without it, the PC cannot upload code or communicate with the
board. On the official Arduino Uno this is performed by the ATmega16U2 chip, or the CH340 on clone
boards.
Q3. If you connect a 9V power supply to the barrel jack, what will the VIN pin output?
The VIN pin will output 9V because it directly reflects the raw input voltage before any regulation. VIN
bypasses the onboard voltage regulator, so whatever voltage enters through the barrel jack appears
unchanged on the VIN pin.
Q4. A student connects a 3.3V sensor to the 5V pin. What will happen?
The sensor will likely be permanently damaged. Most 3.3V sensors are not 5V tolerant — feeding them
5V exceeds their maximum operating voltage, causing excessive current flow through the chip which
burns internal circuits. The correct pin to use is the 3.3V output pin.
Q5. What is the difference between Flash, SRAM, and EEPROM on ATmega328P?
Flash (32KB) stores your program permanently and survives power off. SRAM (2KB) is temporary
runtime memory used for variables and calculations — it is wiped when power is removed. EEPROM
(1KB) is small permanent storage you can write to from your program to save settings or data that must
survive between power cycles.
Q6. Why does the Arduino Uno have a reverse polarity protection diode?
DC power has a fixed polarity with a positive and negative terminal. If connected backwards
accidentally, it can damage the microcontroller and components. The protection diode allows current
only in the correct direction. If polarity is reversed the diode blocks all current, protecting the board
completely. It is placed on the barrel jack power input.
Arduino Uno Study Notes • Page 22
Q7. What does PWM mean and which pins on Uno support it?
PWM stands for Pulse Width Modulation. It is a technique where a digital pin rapidly switches between
HIGH and LOW to simulate an analog output. By varying how long the pin stays HIGH versus LOW (the
duty cycle), it controls things like LED brightness or motor speed. On Arduino Uno the PWM capable
pins are D3, D5, D6, D9, D10, and D11 — marked with the ~ symbol on the board.
Q8. A classmate says 'DC has no polarity.' How would you correct them?
That statement is incorrect. DC (Direct Current) absolutely has polarity — it has a fixed positive and
negative terminal and flows in one direction only. What the classmate may have meant is that DC does
not alternate or change polarity over time, unlike AC. But saying it has no polarity is wrong — which is
exactly why reverse polarity protection is needed on DC-powered devices like Arduino.
Q9. What is the difference between uploading via USB and using the ICSP header?
When uploading via USB, the code passes through the USB-to-TTL converter and then through the
bootloader — a small pre-installed program that receives and loads the sketch. The ICSP header
bypasses both completely, connecting directly to the ATmega328P for programming. ICSP is faster,
works even if the bootloader is corrupted, and is used for burning a fresh bootloader on a blank chip.
Q10. Your Arduino bootloader is corrupted and USB upload fails. What do you do?
Use the ICSP header with an external programmer (such as another Arduino configured as ISP) to
directly access the ATmega328P and burn a fresh bootloader onto it. Since ICSP bypasses the
bootloader entirely, a corrupted bootloader does not prevent ICSP programming. Once the bootloader is
restored, normal USB uploading will work again.
■ Final Tip: In a viva, always explain the reasoning behind your answer — not just the answer itself.
Examiners are more impressed by understanding than memorization. Good luck!
Arduino Uno Study Notes • Page 23