0% found this document useful (0 votes)
5 views10 pages

Arduino Lab Report

This laboratory report focuses on the Arduino Uno R3 microcontroller, detailing its architecture, programming, and breadboard implementation. It covers the objectives of the experiment, the structure of Arduino sketches, and practical coding examples for controlling LEDs and buttons. The report concludes that the Arduino Uno R3 is an effective platform for learning embedded systems and electronics through hands-on experience.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views10 pages

Arduino Lab Report

This laboratory report focuses on the Arduino Uno R3 microcontroller, detailing its architecture, programming, and breadboard implementation. It covers the objectives of the experiment, the structure of Arduino sketches, and practical coding examples for controlling LEDs and buttons. The report concludes that the Arduino Uno R3 is an effective platform for learning embedded systems and electronics through hands-on experience.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

LABORATORY REPORT

Arduino Uno R3: Introduction, Programming &


Breadboard Implementation

Department of Electrical & Computer Engineering

Subject: Microcontroller Lab


Lab No: 01
Date: 23 April 2026

Submitted By:
[Student Name]
[Student ID]

Submitted To:
[Instructor's Name]

Arduino Uno R3 Lab Report | Page 1 of 10


1. Objective
The objectives of this laboratory experiment are:

i. To learn the fundamental architecture, pin configuration, and hardware components of the
Arduino Uno R3 microcontroller board.
ii. To understand the Arduino Integrated Development Environment (IDE) and its key features
including the code editor, compiler, and serial monitor.
iii. To know the syntax and structure of an Arduino sketch, including the setup() and loop()
functions.
iv. To learn how to write, compile, and upload C/C++ code to the Arduino Uno R3 using the
Arduino IDE software.
v. To understand the concept of digital and analog I/O pins and how to control them
programmatically.
vi. To know the correct method of implementing a working circuit on a breadboard using the
Arduino as a controller.
vii. To learn how to interface basic electronic components (LED, resistor, push button) with the
Arduino Uno R3 on a breadboard.
viii. To understand proper debugging techniques using the Serial Monitor and LED indicators.

Arduino Uno R3 Lab Report | Page 2 of 10


2. Introduction

2.1 What is Arduino?


Arduino is an open-source electronics platform that combines both hardware and software
components, making it accessible to beginners and professionals alike. It was originally developed
in 2005 at the Interaction Design Institute Ivrea in Italy. The platform consists of a programmable
microcontroller board and a dedicated software environment (IDE) used to write and upload code
to the board. Arduino has become one of the most widely used platforms in education, prototyping,
and embedded systems development worldwide.

2.2 Overview of the Arduino Uno R3


The Arduino Uno R3 is the most popular and widely used board in the Arduino family. It is based
on the ATmega328P microcontroller chip, which operates at 16 MHz clock speed. The board
provides 14 digital I/O pins (of which 6 support PWM output), 6 analog input pins, a 16 MHz
ceramic resonator, a USB connection for programming and serial communication, a power jack for
external power supply, an ICSP header for in-circuit programming, and a reset button. The Uno R3
revision added additional SDA and SCL pins near the AREF pin and two extra pins placed near the
RESET pin for future compatibility.

2.3 The Arduino IDE (Integrated Development Environment)


The Arduino Software (IDE) is a cross-platform application written in Java, available for Windows,
macOS, and Linux. It provides a text editor for writing code (called a 'sketch'), a message area, a
text console, a toolbar with common functions, and a menu bar. The IDE uses a simplified version
of C/C++ programming language. It comes with a built-in library manager and a Serial Monitor tool
for real-time communication with the board. The IDE handles the complexities of compilation and
uploading automatically, allowing users to focus on the logic of their program.

2.4 Structure of an Arduino Sketch


An Arduino program is called a 'sketch.' Every Arduino sketch must contain exactly two core
functions: setup() and loop(). The setup() function runs once when the board powers on or resets,
and is used to initialize pins, start serial communication, and configure the board's initial state. The
loop() function runs repeatedly in an infinite cycle after setup() completes, and contains the main
logic of the program. Additional helper functions can be defined outside these two core functions to
keep the code organized and modular.

2.5 The Breadboard


A breadboard is a reusable solderless prototyping board used to build and test electronic circuits
temporarily. It consists of a plastic board with a grid of holes connected internally by metal clips.
The breadboard is divided into terminal strips (for circuit components) and bus strips (for power

Arduino Uno R3 Lab Report | Page 3 of 10


rails, marked + and -). Columns a–e and f–j on each row are internally connected horizontally,
while the two long rails on each side carry power (VCC) and ground (GND). This allows
components to be inserted and connected without the need for soldering, making it ideal for
laboratory experiments.

2.6 Connecting Arduino to a Breadboard


Interfacing the Arduino Uno R3 with a breadboard involves using jumper wires to connect the
Arduino's pins to the breadboard's rows. The 5V and GND pins from Arduino are connected to the
power rails of the breadboard to provide power distribution. Electronic components such as LEDs,
resistors, sensors, and buttons are then placed in the breadboard's terminal rows and connected
through the internal metal clips. A current-limiting resistor (typically 220Ω) is always placed in
series with an LED to prevent it from drawing excessive current and burning out. This circuit is then
controlled by the uploaded Arduino code.

Arduino Uno R3 Lab Report | Page 4 of 10


3. Structural Diagrams

Diagram A — Arduino Uno R3 Pin Reference


The table below illustrates the key pins of the Arduino Uno R3 and their functions for breadboard
wiring:

PIN / Label Description & Usage


5V Power supply output — provides 5 volts to power components on
breadboard
3.3V 3.3V power output — for 3.3V sensors and modules
GND Ground — common ground for all circuits
D0–D13 Digital I/O Pins — can be set as INPUT or OUTPUT (5V logic)
D3,5,6,9,10,11 PWM-capable digital pins — used for analog-like output (analogWrite)
A0–A5 Analog Input Pins — reads 0–5V, maps to 0–1023 via analogRead()
TX / RX Serial Communication — D0 (RX) and D1 (TX) for UART communication
RESET Resets the microcontroller — same as pressing the reset button
AREF Analog Reference — external voltage reference for ADC
IOREF I/O Reference Voltage — tells shields what voltage the board uses
VIN Voltage Input — 7–12V external power input

Diagram B — Breadboard Connection Layout


The diagram below shows a standard LED blink circuit connecting the Arduino Uno R3 to a
breadboard:

ARDUINO UNO R3 BREADBOARD + LED CIRCUIT

┌──────────────────┐ ──► [D13 Wire]──┐


│ [USB Port] │ │
│ │ [220Ω Resistor]
│ D13 ●───────────┼──► │
│ D12 ○ │ [LED Anode +]
│ ... │ [LED Cathode -]
│ GND ●───────────┼──► │
│ 5V ○ │ ──► [GND Wire]──┘
│ │
└──────────────────┘
● = connected pin
○ = unused pin

Arduino Uno R3 Lab Report | Page 5 of 10


4. Arduino Code — Writing in Arduino IDE

4.1 Basic LED Blink Program


The LED Blink program is the 'Hello World' of Arduino programming. It turns the built-in LED
(connected to pin 13) on and off at one-second intervals, demonstrating the basic structure of an
Arduino sketch and digital output control.

// Sketch 1: LED Blink (Basic)


// LED Blink Program — Arduino Uno R3
// Turns the built-in LED on pin 13 ON and OFF every 1 second

int ledPin = 13; // Define LED pin as integer variable

void setup() {
// Set pin 13 as an OUTPUT
pinMode(ledPin, OUTPUT);
}

void loop() {
digitalWrite(ledPin, HIGH); // Turn LED ON (set pin HIGH = 5V)
delay(1000); // Wait 1000 milliseconds = 1 second
digitalWrite(ledPin, LOW); // Turn LED OFF (set pin LOW = 0V)
delay(1000); // Wait 1 second
}

4.2 External LED on Breadboard


This sketch controls an external LED connected to pin 13 of the Arduino through a 220Ω resistor
on the breadboard, demonstrating physical circuit implementation alongside code.

// Sketch 2: External LED + Resistor on Breadboard


// External LED Blink — Pin 13 → 220Ω Resistor → LED → GND
// Circuit: Arduino D13 ── [220Ω] ── [LED+] [LED-] ── GND

const int LED_PIN = 13; // Pin connected to LED anode via resistor

void setup() {
pinMode(LED_PIN, OUTPUT); // Configure pin 13 as digital output
[Link](9600); // Start serial monitor at 9600 baud
}

void loop() {
digitalWrite(LED_PIN, HIGH); // LED ON
[Link]("LED is ON"); // Print message to Serial Monitor
delay(1000); // 1 second delay

digitalWrite(LED_PIN, LOW); // LED OFF

Arduino Uno R3 Lab Report | Page 6 of 10


[Link]("LED is OFF"); // Print message to Serial Monitor
delay(1000); // 1 second delay
}

4.3 Button-Controlled LED


This advanced sketch uses a push button on the breadboard (connected to pin 7) to control an
LED (on pin 13). This demonstrates digital input reading using digitalRead() alongside digital
output control.

// Sketch 3: Button-Controlled LED


// Button on Pin 7 controls LED on Pin 13
// Button circuit: 5V → Button → Pin 7; Pin 7 → 10kΩ → GND (pull-down)

const int BUTTON_PIN = 7; // Push button input pin


const int LED_PIN = 13; // LED output pin

int buttonState = 0; // Variable to store button reading

void setup() {
pinMode(LED_PIN, OUTPUT); // LED pin as output
pinMode(BUTTON_PIN, INPUT); // Button pin as input
[Link](9600);
}

void loop() {
buttonState = digitalRead(BUTTON_PIN); // Read button state

if (buttonState == HIGH) { // If button is pressed


digitalWrite(LED_PIN, HIGH); // Turn LED ON
[Link]("Button Pressed — LED ON");
} else { // If button is not pressed
digitalWrite(LED_PIN, LOW); // Turn LED OFF
[Link]("Button Released — LED OFF");
}
}

Arduino Uno R3 Lab Report | Page 7 of 10


5. Implementation — Uploading Code to Arduino

5.1 Setting Up the Arduino IDE


Before uploading code, the Arduino IDE must be correctly configured. Follow these steps:

1. Download and install the Arduino IDE from [Link]


2. Launch the IDE and go to Tools > Board > Arduino AVR Boards > Arduino Uno.
3. Connect the Arduino Uno R3 to the computer using a USB Type-B cable.
4. Go to Tools > Port and select the COM port to which the Arduino is connected (e.g., COM3
on Windows or /dev/ttyUSB0 on Linux).
5. The bottom status bar of the IDE should confirm 'Arduino Uno on COM3'.

5.2 Writing and Uploading Code


Once the IDE is configured, write your sketch in the editor window. After writing the code, follow
these steps to upload:

6. Click the Verify (✔) button to compile the code. Check the console for errors.
7. If compilation is successful, click the Upload (→) button.
8. The IDE compiles the code, converts it to a binary (HEX file), and uploads it to the board via
USB.
9. The TX/RX LEDs on the Arduino board will flash during upload.
10. The message 'Done uploading' in the status bar confirms a successful upload.

5.3 Implementing the Circuit on a Breadboard


After uploading the code, assemble the physical circuit on the breadboard as follows:

• Connect a jumper wire from Arduino pin 13 (D13) to a row on the breadboard.
• Insert a 220Ω resistor from that row to an adjacent row on the breadboard.
• Insert the LED's anode (longer leg, +) into the row after the resistor.
• Insert the LED's cathode (shorter leg, −) into a separate row.
• Connect a jumper wire from that row to the GND rail of the breadboard.
• Connect the GND rail of the breadboard to any GND pin on the Arduino Uno R3.
• Power on the Arduino via USB — the LED should blink as programmed.

Arduino Uno R3 Lab Report | Page 8 of 10


6. Observations & Results
After successful upload and circuit assembly, the following observations were recorded:

• The built-in LED on the Arduino board (pin 13) blinked at 1-second intervals as
programmed.
• The external LED on the breadboard also blinked in synchrony with the built-in LED.
• The Serial Monitor displayed alternating 'LED is ON' and 'LED is OFF' messages every 1
second.
• When the push button was pressed in Sketch 3, the LED illuminated immediately and
turned off upon release.
• No component damage was observed; the 220Ω resistor successfully limited current
through the LED.

7. Conclusion
This laboratory experiment successfully introduced the Arduino Uno R3 microcontroller platform.
Through hands-on implementation, the fundamental structure of an Arduino sketch (setup() and
loop()) was understood and practiced. The Arduino IDE was used to write, compile, and upload C-
based code to the board. Physical circuits were implemented on a breadboard, demonstrating
proper use of digital output pins, current-limiting resistors, LEDs, and push buttons.

The experiment confirmed that the Arduino Uno R3 is an effective and accessible platform for
learning embedded systems and electronics. The seamless integration between software (IDE)
and hardware (breadboard circuit) demonstrates the core principles of microcontroller-based
system design.

Arduino Uno R3 Lab Report | Page 9 of 10


8. References

[1] Arduino, "Arduino Uno Rev3," Arduino Official Website, 2024. [Online]. Available:
[Link]
[2] Arduino, "Arduino Language Reference," Arduino Docs, 2024. [Online]. Available:
[Link]
[3] Atmel Corporation, "ATmega328P Datasheet," Microchip Technology, 2015. Available:
[Link]
[4] M. Margolis, B. Jepson, and N. R. Weldin, Arduino Cookbook, 3rd ed., Sebastopol, CA:
O'Reilly Media, 2020.
[5] SparkFun Electronics, "How to Use a Breadboard," SparkFun Learn, 2023. [Online]. Available:
[Link]

Arduino Uno R3 Lab Report | Page 10 of 10

You might also like