Arduino Basic Tutorial: Arduino UNO On board Components and Pinout
Description:
Arduino is an open-source electronics platform that is used to create interactive and programmable electronic projects. It is made up of a hardware board and a software development environment, which can be used to create a wide variety of devices, from simple LED light displays to complex robots and Internet of Things (IoT) projects.
Prepare yourself for an exciting chapter ahead, where we shall embark on a journey to uncover the various components that make up the magnificent Arduino board. Our focus shall be on the illustrious Arduino UNO board, which stands out as the darling of the Arduino board family. Its widespread usage and unrivaled performance make it the perfect board to kickstart your quest for knowledge in electronics and coding. While some boards may have a slightly different outlook from the one exhibited below, it is worth noting that the majority of Arduinos share the same fundamental components. Let’s dive in and discover the secrets that the Arduino board holds!
In this article, I will explain the following topic in detail
- ATmega328P
- USB port
- External input power terminal
- Reset button
- Various LEDs
- Voltage regulator
- 16MHz crystal oscillator
- Arduino UNO R3 pinout and assignment
- Digital input/output pins (0-13th pins)
- Analog output pin (3, 5, 6, 9, 10, 11th pin)
- Analog input pin (0-5th pin)
- Input voltage range
- pin load current
- pin assignment
Amazon Links:
*Please Note: These are affiliate links. I may make a commission if you buy the components through these links. I would appreciate your support in this way!
Arduino Uno Onboard Components:
The external view of Arduino UNO R3 is shown below.
1 Power USB:
The Arduino board typically has a USB port which is used for programming and powering the board. When you connect the board to your computer via the USB cable, the USB port provides power to the board, allowing you to run your Arduino projects without an external power source.
The power provided by the USB port on the Arduino board is usually limited to 500mA, which is enough to power most simple Arduino projects. However, if your project requires more power than what the USB port can provide, you may need to use an external power supply.
It’s important to note that the power USB on the Arduino board is not meant to be used as a data transfer port alone. While it can transfer data to and from the board, its primary function is to provide power. If you want to use the USB port for data transfer only, you may need to use a USB-to-serial converter or an external USB hub.
2 crystal oscillator:
A crystal oscillator is a component that provides precise timing signals to an Arduino board. The Arduino board has an on-board crystal oscillator that is used to generate a stable and accurate clock signal for the microcontroller on the board.
The crystal oscillator consists of a quartz crystal that is cut and polished to a precise size and shape. When a voltage is applied to the crystal, it vibrates at a very precise frequency, which is determined by its size and shape. This frequency is used as a reference for the clock signal on the Arduino board.
The crystal oscillator on the Arduino board is typically a 16MHz crystal, which means it vibrates 16 million times per second. This high frequency allows the Arduino to execute instructions quickly and accurately.
It’s worth noting that some Arduino boards, such as the Arduino Uno, have an option to bypass the on-board crystal oscillator and use an external clock signal instead. This can be useful in situations where you need to synchronize multiple Arduino boards or need to use a different clock frequency. In these cases, you can provide an external clock signal to the board through one of the pins on the board.
3 voltage regulator:
A voltage regulator is an electronic component that regulates the voltage of a power supply to a stable level, which is required for many electronic devices, including the Arduino board.
The Arduino board has a built-in voltage regulator that helps ensure a stable and consistent voltage supply to the microcontroller and other components on the board. The voltage regulator is typically a 5V linear regulator, which means it takes in a higher voltage and outputs a regulated 5V.
The voltage regulator on the Arduino board can accept an input voltage range of 7V to 12V, depending on the specific board model. When a voltage within this range is provided to the board, the voltage regulator will regulate the voltage to a stable 5V, which is used to power the microcontroller, sensors, and other components on the board.
It’s important to note that the voltage regulator on the Arduino board has a maximum output current of around 500mA. If you need to power components that require more current than this, you may need to use an external power supply or an additional voltage regulator.
Additionally, it’s important to make sure that the input voltage supplied to the board is within the acceptable range, as providing too high or too low voltage can damage the board or cause it to malfunction.
4 Power (Barrel Jack)
The barrel jack is a power input connector on many Arduino boards that allows you to power the board using an external power supply. The barrel jack is typically located next to the USB port on the Arduino board.
The barrel jack on the Arduino board is designed to accept a DC voltage input in the range of 7V to 12V, depending on the specific board model. The external power supply can be either a battery pack or a wall adapter, as long as the voltage and polarity of the power supply match the requirements of the board.
When you connect an external power supply to the barrel jack, the power is regulated by the on-board voltage regulator to provide a stable 5V supply to the microcontroller and other components on the board.
It’s important to note that the voltage supplied to the barrel jack should not exceed 12V, as doing so can damage the board. Additionally, make sure that the polarity of the power supply is correct, as connecting the power supply with the wrong polarity can also damage the board.
Overall, the barrel jack on the Arduino board provides a convenient and reliable way to power your Arduino projects without having to rely on a USB connection or batteries.
5 Arduino Reset pin
The reset pin on the Arduino board is a physical pin that can be used to reset the microcontroller on the board using an external signal. The reset pin is typically labeled “RESET” and located near the other pins and connectors on the board.
To use the reset pin, you can connect an external device such as a button, switch, or other electronic component to the pin. When the external device sends a signal to the reset pin, it will cause the microcontroller to reset and start again from the beginning.
The reset pin can be useful in a variety of situations. For example, you may want to include a reset button on an external enclosure for your Arduino project, or you may want to use an external device to reset the board automatically under certain conditions.
It’s important to note that the reset pin is an input pin and should not be used to supply power to the board or any other components.
6 Arduino 3.3V Pin
The 3.3V pin on the Arduino board provides a regulated 3.3V output voltage, which can be used to power external components that require this voltage level.
The maximum current that can be drawn from this pin is typically around 50mA, so it’s important to ensure that the total current drawn by any components connected to the pin does not exceed this limit.
Some Arduino boards also have additional 3.3V pins, which are connected to the same power supply as the main 3.3V pin and can be used to provide power to multiple components.
The 3.3V pin can be useful in a variety of applications, such as powering low-power sensors or other components that operate at this voltage level. It’s important to note that not all Arduino boards have a 3.3V pin, so it’s important to check the specifications of your specific board to see if this pin is available.
7 Arduino 5V Pin
The 5V pin on the Arduino board provides a regulated 5V output voltage, which can be used to power external components that require this voltage level.
The maximum current that can be drawn from this pin is typically around 500mA, so it’s important to ensure that the total current drawn by any components connected to the pin does not exceed this limit.
The 5V pin can be useful in a variety of applications, such as powering sensors, motors, and other components that operate at this voltage level. It’s important to note that not all Arduino boards have a 5V pin, so it’s important to check the specifications of your specific board to see if this pin is available.
Additionally, it’s important to note that the voltage supplied to the 5V pin is regulated by the onboard voltage regulator, which may generate some heat when a large amount of current is being drawn from the pin. Therefore, it’s important to ensure that the heat generated by the voltage regulator does not exceed its maximum operating temperature, which can be found in the manufacturer’s specifications.
8 Arduino Gnd Pins
The GND (Ground) pins on the Arduino board are used to provide a common ground connection for the board and any external components that are connected to it.
In electrical circuits, the ground reference point is used as a point of reference for measuring voltages and currents. By connecting the ground pins of all components in a circuit to a common ground, all components have the same reference point for measuring voltages and currents.
The Arduino board typically has several GND pins, which are all connected together internally. This makes it easy to connect multiple components to the same ground reference point, which is important for proper electrical operation.
In addition to providing a common ground reference point, the GND pins on the Arduino board can also be used to provide a negative voltage supply for components that require it.
9 Arduino Vin Pin
The VIN (Voltage IN) pin on the Arduino board is used to supply an unregulated voltage input to the board. This voltage input can be in the range of 7V to 12V, and is typically used when the Arduino board is being powered by an external power source such as a battery or a wall adapter.
The VIN pin is connected to the input of the onboard voltage regulator, which regulates the input voltage to provide a stable and regulated voltage output to the 5V and 3.3V pins on the board. The regulated voltage output is then used to power the microcontroller and any external components that are connected to the board.
It’s important to note that the maximum input voltage that can be applied to the VIN pin may vary depending on the specific Arduino board that you are using. It’s important to check the specifications of your board to see what the maximum input voltage is.
10 Arduino Analog pins
The Analog pins on the Arduino board are used to read analog signals from external sensors or other devices. These pins are labeled A0, A1, A2, A3, A4 and A5, are typically located along one edge of the board.
Analog signals are signals that vary continuously over a range of values, as opposed to digital signals that have only two possible values (0 or 1). The analog pins on the Arduino board are capable of reading analog signals in the range of 0 to 5 volts, and can be used to measure a variety of different signals such as temperature, light, sound, and more.
To read an analog signal, the voltage at the pin is compared to a reference voltage, which is typically 5 volts. The difference between the two voltages is then converted into a digital value that can be read by the microcontroller on the board.
It’s important to note that the resolution of the analog-to-digital converter (ADC) on the Arduino board can vary depending on the specific board that you are using. For example, some boards may have a 10-bit ADC, which can provide a resolution of 1024 different values, while others may have a 12-bit ADC, which can provide a resolution of 4096 different values.
11 Main microcontroller chip
The main microcontroller chip on the Arduino board is the brain of the board and is responsible for controlling its overall operation. The microcontroller chip used on most Arduino boards is typically an Atmel AVR microcontroller, although some newer boards may use a different microcontroller.
The microcontroller chip is responsible for running the code that is uploaded to the board via the Arduino Integrated Development Environment (IDE). This code can be written in C or C++ programming languages and can control the behavior of the board’s input/output pins, communicate with other devices, and perform a wide range of other tasks.
The microcontroller chip on the Arduino board typically has a number of built-in peripherals, such as timers, interrupt controllers, analog-to-digital converters (ADCs), and digital-to-analog converters (DACs). These peripherals can be used to interface with external sensors, motors, and other devices, and provide a wide range of functionality to the board.
The microcontroller chip also has a number of input/output (I/O) pins that can be used to interface with external components, such as LEDs, buttons, and sensors. These I/O pins can be configured as digital input or output pins, or as analog input pins, depending on the specific needs of the application.
12 ICSP pins
ICSP stands for In-Circuit Serial Programming, and the ICSP pins on the Arduino board are used to program the microcontroller on the board using a special programming tool called an ISP (In-System Programmer).
The ICSP pins are labeled MOSI, MISO, SCK, RESET, 5V, and GND, and are typically located near the digital I/O pins on the board. These pins are used to communicate with the microcontroller via the SPI (Serial Peripheral Interface) protocol, which is a common protocol used for programming microcontrollers.
The MOSI (Master Output Slave Input) pin is used to send data from the programmer to the microcontroller, while the MISO (Master Input Slave Output) pin is used to send data from the microcontroller back to the programmer. The SCK (Serial Clock) pin is used to synchronize the data transfer between the programmer and the microcontroller.
The RESET pin is used to reset the microcontroller, and is typically connected to a reset button on the board. The 5V and GND pins are used to provide power to the programmer.
To use the ICSP pins to program the microcontroller on the Arduino board, you will need an ISP programmer such as the AVR ISP or the USBtinyISP. You can then connect the programmer to the ICSP pins on the board and use the Arduino IDE to upload your code to the board.
13 Power LED indicator
The power LED indicator on the Arduino board is a small light that indicates whether the board is receiving power. When the board is connected to a power source, such as a USB cable or a battery, the power LED will light up to indicate that the board is powered on.
The power LED is typically located near the USB port on the board and is labeled “PWR”. It is connected to the 5V pin on the board and is powered directly from the power source.
The power LED indicator is useful for troubleshooting and verifying that the board is receiving power. If the LED is not lit up, it may indicate that there is a problem with the power source or that the board is not receiving power for some other reason.
14 TX and RX LEDs
The TX and RX LEDs on the Arduino board are small lights that indicate when data is being transmitted or received via the board’s serial communication ports.
The TX LED indicates that the board is transmitting data, while the RX LED indicates that the board is receiving data. The LEDs are typically located near the digital I/O pins on the board and are labeled “TX” and “RX”, respectively.
When data is being transmitted or received via the serial communication ports, the corresponding LED will light up to indicate that data is being transmitted or received. This can be useful for debugging and troubleshooting serial communication issues.
It’s worth noting that the TX and RX LEDs are only present on certain Arduino board models, such as the Arduino Uno and Mega. Other models, such as the Arduino Nano, do not have these LEDs.
15 Digital I/O
The Arduino Uno board has a total of 14 digital I/O pins. These pins can be used for both input and output operations, and they are labeled as follows:
- Digital Pins 0-13: These pins are bi-directional and can be used as either input or output pins. Digital pins 0 and 1 are also connected to the board’s built-in serial communication port, which can be used for communicating with other devices via UART.
- PWM Pins: Six of the digital pins (3, 5, 6, 9, 10, and 11) can also be used for Pulse Width Modulation (PWM) output. PWM allows you to simulate analog output using digital signals, which can be useful for controlling things like LED brightness or motor speed.
- Interrupt Pins: Two of the digital pins (2 and 3) can be used for external interrupts, which allow you to respond to external events or signals in real-time.
The digital I/O pins on the Arduino Uno board can be accessed using the pinMode(), digitalRead(), and digitalWrite() functions in the Arduino IDE. These functions allow you to set the pin mode (input or output), read the state of a pin, and write a value to a pin, respectively.
16 AREF
AREF stands for “Analog REFerence”, and it refers to a pin on the Arduino Uno board that can be used to set the reference voltage for analog inputs.
In the Arduino Uno, the AREF pin is located next to the digital pin 13, and it is labeled as “AREF” on the board. By default, the Arduino uses the board’s 5V power supply as the reference voltage for analog inputs. However, you can use the AREF pin to set a different reference voltage if you need more precise readings or if you are working with sensors that require a specific reference voltage.
To use the AREF pin, you first need to connect an external reference voltage to the pin. This can be done using a voltage divider circuit, or by using a dedicated voltage reference module. Once the external reference voltage is connected to the AREF pin, you can use the analogReference() function in the Arduino IDE to set the reference voltage.
For example, if you are using a 3.3V voltage reference connected to the AREF pin, you can set the reference voltage using the following code:
analogReference(EXTERNAL);
This code sets the reference voltage to the external reference connected to the AREF pin. You can then use the analogRead() function to read analog inputs with respect to this reference voltage.
17 RESET Button
The reset button on the Arduino Uno board is a small button that is located next to the USB connector on the board. The reset button is used to reset the board’s microcontroller, which can be useful for restarting your program or for uploading new code to the board.
When you press the reset button, the microcontroller on the board is reset and the program restarts from the beginning. This can be useful for debugging your code, or for running your program multiple times without having to unplug the board.
To use the reset button, simply press it once while your program is running. You should see the on-board LED (labeled “L”) blink rapidly, indicating that the board is resetting. After a few seconds, the LED should stop blinking and your program will restart from the beginning.
In addition to the physical reset button, you can also reset the board using software by sending a reset signal over the board’s serial connection. This can be done using the Serial.flush() function in the Arduino IDE.
Summary:
In this article, we discussed various components of the Arduino Uno board, including the power USB, crystal oscillator, voltage regulator, power (barrel jack), reset button, reset pin, 3.3V, 5V, GND, Vin, analog pins, digital I/O pins, ICSP pins, AREF pin, power LED indicator, and TX/RX LEDs. For each component, we described its purpose and how it can be used in Arduino projects. By understanding the various components of the Arduino Uno board, you can better understand how the board works and how to use it effectively in your own projects.