What is Arduino?

Arduino is an open-source platform used for building electronics projects. Arduino consists of both a physical programmable circuit board (often referred to as a microcontroller) and a piece of software, or IDE (Integrated Development Environment) that runs on your computer, used to write and upload computer code to the physical board.

Circuit if Arduino:




Explanation of pins:

Arduino Uno’s Pin labeling is displayed in image below, and detailed function of each & every pin is mentioned below the image.




  • USB To PC: It is used to communicate Arduino via Universal Serial Bus to PC for programming/sending data to Arduino serially.
  • 7V to 12V DC Input: For external supply, the voltage range of 7V to 12V DC is recommended. The 9V battery can be used to power your Arduino Uno board.
  • Reset Button: It Resets the Arduino board if pressed.
  • ICSP: Abbreviated as In-Circuit Serial Programming which consists of MOSI, MISO, SCK, RESET, VCC, GND. It is either used to program USB or Microcontroller (For UNO, ATmega 328P-PU). ICSP allows the user to program the microcontroller when it is in circuits, In Arduino UNO it allows to program ATmega328P-PU directly with AVR instructions without using Arduino IDE.
  • SDA: Serial Data, It is the bidirectional data line that is used by I2C.
  • SCL: Serial Clock, It is used to indicate that data is ready on bidirectional data line that is used by I2C.
  • AREF: Analog Read Reference, It is mainly used for analogReference() function calls, as default, it is not required but to use it you have to add some voltage source between 0V to 5V in AREF Pin which will be considered as an accurate reference voltage.
  • GND: Ground.
  • SCK: Serial Clock, which is used by SPI (Serial Peripheral Interface). It is clock generated by ‘Master’ which is used to clock the data to the ‘Slave’.
  • MOSI: Master Out Slave In, The data is transmitted from Master to Slave. (Master -> Slave)
  • MISO: Master In Slave Out, The data is transmitted to Master from Slave. (Slave -> Master)
  • SS: Slave Select, It is used to select the ‘Slave’. Make high to SS pin to deactivate & make low to activate it.
  • INT1 & INT0: These are hardware interrupts, it calls the ISR (Interrupt Service Routine) when the pin change occurs.
  • TX: Transmit, It is used to transmit TTL serial data. It is also referred as ‘outwards’ since it ‘transmits’ data from Arduino to another connected peripheral device.
  • RX: Receive, It is used to receive TTL serial data. IT is also referred as ‘inwards’ since it ‘receives’ data from external hardware to Arduino.
  • Vin: Voltage In, If you’re powering your Arduino board from USB nothing is obtained from Vin pin. But, if you’re powering the board with external supply then that supply is directly obtained from Vin pin. However, the supply obtained at Vin pin is usually lesser by 1V than a voltage supplied to Power pin due to reverse polarity protection diode.
  • 5V Pin: It is used to power external components connected to Arduino which needs 5V.
  • 3.3V Pin: It is used to power external components connected to Arduino which needs 3.3V
  • IORef: Input-Output Voltage Reference, It allows shields connected to Arduino board to check whether the board is running at 3.3V or 5V.