Open In App

Overview of the Arduino UNO Components

Last Updated : 22 Apr, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Arduino is an incredibly important part of modern-day electronics. The ease with which these Arduino boards can be programmed makes them the best choice especially when it comes to integrating them with large-scale projects. In this article, we will get an overview of the basic components that make up an Arduino board. This will include talking about the brain of the Arduino i.e. the microcontroller, the pins, and the power supplies.


What is an Arduino Board?

Here is an overview of the whole Arduino board. Anybody who has worked on Arduino will know that is a small board consisting of multiple components like ICs, and USB which are interconnected to form a whole connection. Here is a list of all the components

Arduino-Board
Arduino Board


  • Analog Reference pin
  • Digital Ground
  • Digital Pins 2-13
  • Digital Pins 0-1/Serial In/Out - TX/RX
  • Reset Button - S1
  • In-circuit Serial Programmer
  • ICSP pin
  • Analog In Pins 0-5
  • Power and Ground Pins
  • External Power Supply In (9-12VDC) - X1
  • Toggles External Power and USB Power- SV1
  • USB (universal serial bus)
  • Crystal Oscillator


Microcontrollers

The microcontroller used on the Arduino board is essentially used for controlling all major operations. The microcontroller is used to coordinate the input taken and execute the code written in a high-level language. This code is then implemented and relevant output is generated. The choice of microcontroller varies on the requirements of the project.

The microcontroller used in the Arduino shown above is ATmega328P manufactured by ATMEL Company and it is the most common choice. Here are some features of this microcontroller.

  • ATmega328P has 14 Digital I/O Pins. Out of the 14 pins, 6 provide PWM(pulse width modulation) output.
  • ATmega328P can have 6 (DIP) or 8 (SMD) Analog Input Pins.
  • The DC Current which is supplied to each I/O Pin is around 40 mA.
  • ATmega328P has a flash memory of 32 KB.
  • ATmega328P has a SRAM(Static Random-Access Memory) of 2 KB.
  • ATmega328P has EEPROM(Electrically Erasable Programmable Read-Only Memory) of 1 KB.


Communication Interface

To function optimally, the Arduino needs to communicate with external devices like computers, sensors, and LEDs. By adding a communication interface, we can ensure that Arduino can receive and transfer data to external devices and therefore generate the required output. Let's understand the components that make up the Communication Interface of Arduino.

  • Serial Communication (UART): The UART is a protocol used by Arduino for serial communication with other devices. UART stands for Universal Asynchronous Receiver/Transmitter and is used for bit data transfer. The built-in hardware in Arduino aids it in this communication with other sensors, actuators, Rasperry pies, and other boards.
  • Inter-Integrated Circuit (I2C): This is another communication protocol that comes into the picture when we want multiple connections but with minimal wiring. The way it allows communication between multiple channels is using two wires known as the SDA - Serial Data Line and SCL - Serial Clock Line. Arduino is designed with pins that help the Arduino to connect with sensors and displays without any inconvenience.
  • Serial Peripheral Interface (SPI): The last serial communication protocol that is used when we need high speed for data transfer. The multiple lines used in this protocol help to connect the microcontroller to other devices. Unlike I2C, it uses different wires to coordinate different tasks like communication, clock controls, etc. This protocol is suitable for connecting Arduino with SD cards, display modules, and digital-to-analog converters (DACs).


Digital Pins

In general, digital pins are used for general purposes like taking input or generating output. The commands that are used for setting the modes of the pins are pinMode(), digitalRead(), and digitalWrite() commands.

digitalWrite() is used to turn the resistors in each pin ON or OFF which will assign a HIGH or LOW value to the pins. The maximum current that can flow in each pin is 40 mA. Here are some digital pins.

  • Serial: These pins are categorized into two types namely receive (RX) and transmit (TX) serial data. On the Arduino Diecimila, the two pins are usually numbered '0' and '1' when they perform the task of communication. They are also present at pin 12 where TX flashes the LED while data is sent and RX flashes when data is being received. Sometimes, they are used with an external TTL serial module (e.g. the Mini-USB Adapter).
  • External Interrupts: As the name suggests, external interrupts are used to trigger an interrupt when required. This interruption can be due to a rising or falling edge, or a change in value. Once an interrupt is called, the Arduino will come to a halt and begin working only when told. These pins are PIN '2' and '3' which are controlled using the attachInterrupt() function.
  • PWM: PWM stands for pulse width modulation. The pin numbers 3, 5, 6, 9, 10, and 11 are PWM pins. The analogWrite() function is used for generating an 8-bit output. So when a large output is to be received or transmitted, the 8-bit output is generated. On certain boards like ATmega8, these pins are limited and present at 9, 10, and 11.
  • SPI(serial peripheral interface): This is a synchronous serial data protocol generally used by microcontrollers. This is present at pin number 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK) which are used by microcontrollers for communicating with different devices. The relationship can be understood as the output device acting as a slave to the master of the SPI bus.
  • LED: Present at pin number 13 in some Arduino, LED is often used for testing purposes. The LED glows when the pin is HIGH, and turns off when the pin is LOW. Sometimes it is also possible to connect some external LEDS by using breadboard and jumper wires.


Analog Pins

In general, the analog pins are used for general purposes like supporting 10-bit analog-to-digital conversion (ADC) which is performed using analog the Read() function. These analog inputs can also be used as digital pins: analog input 0 as digital pin 14 through analog input 5 as digital pin 19. Analog pins are particularly helpful since they can store 0-255 bits which is not possible using digital pins. This feature is not available on every Arduino board.

  • I2C(Inter-Integrated Circuit): These pins are present at numbers 4 (SDA) and 5 (SCL) and are used to perform I2C (TWI) communication. Note that we need to import the Wire library to use this protocol.


Power Pins

The power pins are used to supply the power needed for operating the Arduino. In case some external source like a jack is being used to drive the power then it can be connected to this PIN. The supply of power that each board can take varies from one design to another and it is necessary to know this range for the board that you are using. Some Arduinos don't have the VIN pin since they only accept a regulated input, one such example is lililyPad

  • 5V(Power Supply): This is the voltage that is used for driving components like the microcontroller on the board. This power can only come either from VIN or a source that can provide a regulated voltage of around 5V. Any voltage less than this will not turn the Arduino on.
  • GND: This is known as the Ground pin and is used to set a reference level as the ground. This is automatically considered to be at the potential 0V.


Other Pins

  • AREF: The analog reference pin is often used to set an upper limit to the voltage for analog pins. This is set using the analogReference() function.
  • Reset: This pin is used to reset the state of the microcontroller by setting all values to their default values. Once all the actions have been performed or some wrong program is executed then you might want to reset the Arduino so you can use this pin for that.


Crystal Oscillator

The crystal oscillator is a device on Arduino that deals with issues involving time. The Arduino calculates time using this oscillator only. If you observe, you will see the number '16.000H9H' printed on top of the Arduino crystal. This indicates that the Arduino operates at a frequency of 16,000,000 Hertz pf. Crystal oscillators are very precise and accurate devices. For example, a crystal oscillator is also present on he Arduino to provide clock pulses to the microcontroller Atmega 328 and help it control all commands and order of execution.

Applications of Arduino

Arduino finds its applications in various fields due to their ability to perform different things. Let us see some of its applications:

  • Arduinos are used in 3D printing where they perform the task of selecting how the printing will be performed.
  • Arduinos are used for creating basic designs by makers, designers, hackers, and creators across the globe to create some great projects. Some of the projects are Laser Turret Midi Controller, Retro Gaming With an OLED Display, and Traffic Light Controller.
  • Arduinos are used by college students to understand programmable electronics and to explore their interest in programming.
  • Arduinos are used in the field of robotics for programming robots and adding basic features like sensing and responding to environmental conditions.
  • Arduino is used in IoT(Internet of Things) since it can collect information using sensors. The collected data is then processed and transmitted for developing various smart devices.

Conclusion

We have seen how Arduino is made of various components that control the entire working of Arduino. These components are connected to coordinate all the tasks and ensure the Arduino can work as required. Apart from the microcontroller, which is the Braun of the Arduino, we studied various components like the pins and the oscillators. It is important to know the different components that make the hardware and software parts work together. Readers are advised to refer to the frequently asked questions in case of any doubts.


Next Article

Similar Reads