One of the most popular Arduino boards out there is the Arduino Uno. While it was not actually the first board to be released, it remains to be the most actively used and most widely documented on the market. Generally, if you’re a beginner, then Arduino Uno is best to get started with due to low cost, ease of use and a large number of open-source projects already developed. So here we would be looking at some major parts of an Arduino board which is mostly common in other Arduino boards also.
So let's look at the main components and their function:-
328ATmegaP – (The heart of the Arduino hardware)
This is the main Arduino component. This is the brains and is where the programs are stored.
It’s an 8-bit microcontroller.
It has 32 KB of flash memory.
It has 2kB of SRAM.
It’s capable of reaching thorough-puts of 1 MIPS per MHz.
It has 20 GPIO pins.
It’s equipped with an SPI serial port. SPI is a wired communication protocol.
The USB port is through where both, power and data or uploading sketches are provided to the Arduino Uno.
It is a Type B standard port, and you will need a standard A-B cable (shown below) to connect it to your computer.
Standard A-B USB cable
The host computer provides 100mA of current at 5V power supply to the Arduino Uno for an unenumerated device and 500mA at 5V for an enumerated device. An enumerated device is a device that a computer recognizes properly and thus loads the appropriate drivers for it.
Power jack (Barrel connector)
It is a circular port, 2.1mm in diameter. The center pin is positive, and the outer sleeve is ground (GND).
The Barrel jack or DC Power Jack can be used to power your Arduino board. The barrel jack is usually connected to a wall adapter. The recommended voltage for most Arduino models is between 6 and 12 Volts.
ATmega 16U2 IC
The ATmega 16U2 is primarily responsible for USB/Serial signal conversion. It sends the serial data to the ATmega 328P and can be thought of as a communication enabler between the host computer and the Arduino board.
There are two ICSP header pins on the Arduino Uno.
ICSP stands for In-Circuit Serial Programming and it is a protocol used to program microcontrollers like the PIC and the AVR chips, etc. ICSP pins are used for programming Arduino or connecting the Arduino board to a computer for uploading a sketch (if the USB port is not available on the board like the pro minis).
The 16MHz crystal oscillator is connected to the ATmega16U2. It is essential for perfectly synchronized serial communication. The ATmega328 has it’s own oscillator as seen in the schematic. But the Arduino board uses a ceramic resonator instead of the crystal oscillator. We will take a look at the functions of both the devices in subsequent posts.
The function of the oscillator and the resonator are the same.
Digital I/O pins
In Arduino Uno, there are 14 digital pins. Pins 0-13 can be used for digital input or output.
These pins are for both digital input (reading the state of the switch) and digital output (controlling the LED).
The pins marked with the ∼ sign are capable of producing PWM signals.
PWM Pins: You may have noticed the tilde (~) next to some of the digital pins (3, 5, 6, 9, 10, and 11 on the UNO). These pins act as normal digital pins, but can also be used for something called Pulse-Width Modulation (PWM). They are used as analog output (like fading an LED in and out). PWM is achieved by rapidly varying the output between high and low for the desired percentage of the time.
RX – TX: These are serial communication pins, used to communicate with other Arduino boards as well as computers.
AREF – Stands for “Analog Reference” and is used to set an external reference voltage.
Analog input pins
These pins are for reading analog voltage value from sensors and convert them into a digital value, that can be read. In Arduino Uno, there are 6 analog pins labeled A0-A5.
An analog signal is one that can take on any signal which has only two values High or Low. To measure the value of analog signals, the Arduino has a built-in Analog-to-Digital converter(ADC).
The ADC turns the analog voltage into a digital value.
Analog data is basically all the values in a particular range. The analog input pins can measure voltage (or signals) with a voltage in the range of 0-5V.
3.3V Pin – This pin supplies 3.3 volts of power to your project.
5V Pin – This pin provides 5V Voltage to the circuits.
Ground Pins – These pins are used to ground circuits. There are a few ground pins on the Arduino and they all work the same.
VIN Pin – This pin is used to power the Arduino Uno board using an external power source. The voltage should be within the range mentioned above.
RX – TX LEDs-
These LEDs will give us some nice visual indications whenever our Arduino is receiving or transmitting data on the RX TX Pins.
Pin 13 LED-
Arduino Uno has an inbuilt LED connected to digital pin 13. Whenever the pin is HIGH, LED lights up and when it is LOW, LED is Off.
This button is used to restart the code that is loaded on the Arduino.
Power Indicator LED-
This LED should light up whenever you plug your Arduino into a power source. If this light doesn’t turn on, there’s a good chance something is wrong.
Voltage Regulator –
This controls the amount of voltage going into the Arduino board.
University Institute of Engineering and Technology, Panjab University