You are on page 1of 3

PIN FUNCTIONS :

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 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 other 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 youre powering your Arduino board from USB nothing is obtained from
Vin pin. But, if youre 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
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.

Or

Pin Functions Explained


In order to make sense of all of this, it helps to know the general functions of a microcontroller.
There are a few common functions:

Power: Every microcontroller will have connections for power (often labeled Vcc, Vdd, or Vin)
and ground. A bare microcontroller will have only those, but modules like the Arduino, the
Raspberry Pi, and others also have voltage regulators and other components on board. On these,
its common to see an unregulated voltage input (Vin) and a regulated voltage output (5V and
3.3V on the Uno, for example).

Clock: Every microcontroller needs a clock. The bare microcontroller chip usually has two pins
for this. On a module, the clock is usually built onto the board, and the pins are not exposed.

General Purpose Input and Output (GPIO): Most pins on a microcontroller can operate as
either a digital input or digital output.

Hardware Interrupts: Many microcontrollers have a subset of their GPIO pins attached to
hardware interrupt circuits. A hardware interrupt can interrupt the flow of a program when a
given pin changes its state, so you can read it immediately. Some higher level functions like
asynchronous serial and PWM sometimes use these interrupts. Theyre also good for very
responsive reading of digital inputs.

Analog Input (ADC): Not all microcontrollers have an analog-to-digital converter (ADC), but
those that do have a number of pins connected to it and act as inputs to the ADC. If there are
analog inputs, include analog reference pin as well, that tells the microcontroller what the
default high voltage of the ADC is.
Pulse Width Modulation (PWM): Few microcontrollers have a true analog voltage output
(though the MKR1000 does), but most have a set of pins connected to an internal oscillator that
can produce a pseudo-analog voltage using PWM. This is how the analogWrite() function in
Arduino works.

Communications:

Universal Asynchronous Receiver/Transmitter (UART): Asynchronous serial communication


is managed by a Universal Asynchronous Receiver/Transmitter, or UART, inside the processor.
The UART pins are usually attached to internal hardware interrupts that can interrupt the
program flow when new serial data arrives, so you never miss a byte. Its possible to manage
serial communication in software alone, but at high speeds, youll see more errors.

Synchronous Serial: SPI and I2C: Most microcontrollers also have dedicated modules in the
processor to handle the two most common forms of synchronous serial communication.

The Serial-Peripheral Interface (SPI) bus has four dedicated pins: Master In, Slave Out
(MISO); Master Out, Slave In (MOSI); Serial Clock (SCK) and Chip Select (CS). Many
miccrocontrollers are programmed via SPI through an In-Circuit Serial Programming header
(ICSP) as well.

The Inter-Integrated Circuit (I2C) bus has two pins: Serial Data (SDA) and Serial Clock
(SCL).

Reset: All microcontrollers have a pin which resets the program. Usually you take this pin low to
reset the controller.

IORef: this is the operating voltage of the board. The Uno and 101 have this pin so that shields
can read this voltage to adjust their own output voltages as needed. Not all shields have this
functionality.

You might also like