Arduino Nano Tutorial – Pinout & Schematics

john February 17, 2018 No Comments

Arduino Nano Pinout

The Arduino Nano, as the name suggests is a compact, complete and bread-board friendly microcontroller board. The Nano board weighs around 7 grams with dimensions of 4.5 cms to 1.8 cms (L to B). This article discusses about the technical specs most importantly the pinout and functions of each and every pin in the Arduino Nano board.

How different is Arduino Nano?

Arduino Nano has similar functionalities as Arduino Duemilanove but with a different package. The Nano is inbuilt with the ATmega328P microcontroller, same as the Arduino UNO. The main difference between them is that the UNO board is presented in PDIP (Plastic Dual-In-line Package) form with 30 pins and Nano is available in TQFP (plastic quad flat pack) with 32 pins. The extra 2 pins of Arduino Nano serve for the ADC functionalities, while UNO has 6 ADC ports but Nano has 8 ADC ports.  The Nano board doesn’t have a DC power jack as other Arduino boards, but instead has a mini-USB port. This port is used for both programming and serial monitoring. The fascinating feature in Nano is that it will choose the strongest power source with its potential difference, and the power source selecting jumper is invalid.

Arduino Nano – Specification

Arduino Nano Specifications
Operating Voltage5 Volts
Flash Memory32 KB of which 2 KB used by Bootloader
Clock Speed16 MHz
Analog I/O Pins8
DC Current per I/O Pins40 milliAmps
Input Voltage(7-12) Volts
Digital I/O Pins22
PWM Output6
Power Consumption19 milliAmps
PCB Size18 x 45 mm
Weight7 gms

Arduino Nano Pinout Description

Taking this pin-out diagram below as reference, we shall discuss all the functionalities of each and every pin.

Arduino Nano Pinout

Arduino Nano Pinout


We can infer from the image that Arduino Nano got 36 pins in total. We will see all the pins section wise as well as a detailed format at last.

Digital I/O , PWM - 14 Pins

For Analog Functions - 9 Pins

Power - 7 Pins

SPI (Apart from Digital I/O Section) - 3 Pins

Reset - 3 Pins
TOTAL - 36 Pins
Arduino Nano Pin Description

Arduino Nano Pin Description


Arduino Nan0 – Pin Description

Pins 1 to 30

Arduino Nano PinPin NameTypeFunction
1D1/TXI/ODigital I/O Pin
Serial TX Pin
2D0/RXI/ODigital I/O Pin
Serial RX Pin
3RESETInputReset ( Active Low)
4GNDPowerSupply Ground
5D2I/ODigital I/O Pin
6D3I/ODigital I/O Pin
7D4I/ODigital I/O Pin
8D5I/ODigital I/O Pin
9D6I/ODigital I/O Pin
10D7I/ODigital I/O Pin
11D8I/ODigital I/O Pin
12D9I/ODigital I/O Pin
13D10I/ODigital I/O Pin
14D11I/ODigital I/O Pin
15D12I/ODigital I/O Pin
16D13I/ODigital I/O Pin
173V3Output+3.3V Output (from FTDI)
18AREFInputADC reference
19A0InputAnalog Input Channel 0
20A1InputAnalog Input Channel 1
21A2InputAnalog Input Channel 2
22A3InputAnalog Input Channel 3
23A4InputAnalog Input Channel 4
24A5InputAnalog Input Channel 5
25A6InputAnalog Input Channel 6
26A7InputAnalog Input Channel 7
27+5VOutput or Input+5V Output (From On-board Regulator) or
+5V (Input from External Power Supply
28RESETInputReset ( Active Low)
29GNDPowerSupply Ground
30VINPowerSupply voltage


Arduino Nano ICSP Pin NameTypeFunction
MISOInput or OutputMaster In Slave Out
VccOutputSupply Voltage
SCKOutputClock from Master to Slave
MOSIOutput or InputMaster Out Slave In
RSTInputReset (Active Low)
GNDPowerSupply Ground

Arduino Nano Digital Pins

Pins - 1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, and 16

As mentioned earlier, Arduino Nano has 14 digital I/O pins that can be used either as digital input or output. The pins work with 5V voltage as maximum, i.e., digital high is 5V and digital low is 0V. Each pin can provide or receive a current of 20mA, and has a pull-up resistance of about 20-50k ohms. Each of the 14 digital pins on the Nano pinout can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions.

Other than the digital input and output functions, the digital pins have some additional functionality as well.

Serial Communication Pins

Pins - 1, 2

1 - RX and 2 - TX

These two pins RX- receive and TX- transmit are used for TTL serial data communication. The pins RX and TX are connected to the corresponding pins of the USB-to-TTL Serial chip.

PWM Pins

Pins - 6, 8, 9, 12, 13, and 14

Each of these digital pins provide a Pulse Width Modulation signal of 8-bit resolution. The PWM signal can be generated using analogWrite () function.

External Interrupts

Pins - 5, 6

When we need to provide an external interrupt to other processor or controller we can make use of these pins. These pins can be used to enable interrupts INT0 and INT1 respectively by using the attachInterrupt () function. These pins can be used to trigger three types of interrupts such as interrupt on a low value, a rising or falling edge interrupt and a change in value interrupt.

SPI Pins

Pins - 13, 14, 15, and 16

When you don’t want the data to be transmitted asynchronously you can use these Serial Peripheral Interface pins. These pins support synchronous communication with SCK as the synchronizing clock. Even though the hardware has this feature, the Arduino software doesn’t have this by default. So you have to include a library called SPI Library for using this feature.


Pin - 16

If you remember your first Arduino code, blinking LED, then you’ll definitely came across this Pin16. The pin 16 is being connected to the blinking LED on the board.

Arduino Nano Analog Pins

Pins - 18, 19, 20, 21, 22, 23, 24, 25, and 26

As mentioned earlier UNO got 6 analog input pins but Arduino Nano has 8 analog inputs (19 to 26), marked A0 through A7. This means you can connect *8 channel analog sensor inputs for processing. Each of these analog pins has a inbuilt ADC of resolution of 1024 bits (so it will give 1024 values). By default, the pins are measured from ground to 5V. If you want the reference voltage to be 0V to 3.3V, we can give 3.3V to AREF pin (18th Pin) by using the analogReference () function.

Similar to digital pins in Nano, analog pins also got some other functions as well.


Pins 23, 24 as A4 and A5

Since SPI communication also has its disadvantages such as 4 essential pins and limited within a device. For long distance communication we use the I2C protocol. I2C supports multi master and multi slave with only two wires. One for clock (SCL) and another for data (SDA). For using this I2C feature we need to import a library called Wire library.


Pin 18

As mentioned already the AREF- Analog Reference pin is used as a reference voltage for analog input for the ADC conversion.


Pin 28

Reset pins in Arduino are active LOW pins which means if we make this pin value as LOW i.e., 0v, it will reset the controller. Usually used to be connected with switches to use as reset button.


Arduino Nano ICSP

Arduino Nano ICSP


ICSP stands for In Circuit Serial Programming, which represents one of the several methods available for programming Arduino boards. Ordinarily, an Arduino bootloader program is used to program an Arduino board, but if the bootloader is missing or damaged, ICSP can be used instead. ICSP can be used to restore a missing or damaged bootloader.

Each ICSP pin usually is cross-connected to another Arduino pin with the same name or function. For example, MISO on Nano’s ICSP header is connected to MISO / digital pin 12 (Pin 15); MOSI on the ISCP header is connected to MOSI / digital pin 11 (Pin 16); and so forth. Note, MISO, MOSI, and SCK pins taken together make up most of an SPI interface.

We can use one Arduino to program another Arduino using this ICSP.

Arduino as ISPATMega328


Pins 3, 28 and 5 in ICSP


Pins 4, 17, 27, 28, 30 and 2 & 6 in ICSP



We have compiled a huge list of Arduino Nano based projects with complete source code and detailed explanation of the circuits. Check out the list below.

Simple Robotic Arm Project Using Arduino

Auto Intensity Control of Street Light Using Arduino

Measuring Wheel/Surveyor's Wheel Using Arduino Nano & Rotary Encoder

Gesture Controlled Mouse (Air Mouse) Using Arduino Nano & Accelerometer

DC Motor Speed Control Using Arduino & PWM

Automatic Railway Gate Control Using Arduino & IR Sensor

Car Speed Detector Using Arduino

Water Level Indicator Using Arduino & Ultrasonic Sensor

How to Make an LED Scrollbar Using Arduino Nano

Home Automation Using IR Remote Control

Arduino Solar Tracker Using LDR Sensor & Servo Motor

Ultrasonic Blind Walking Stick Using Arduino

Leave a Reply

Your email address will not be published. Required fields are marked *