Home / Reference / Arduino Nano Pinout Diagram

Arduino Nano Pinout Diagram

pcbway

The Arduino Nano is a compact, breadboard-friendly ATmega328P development board with 14 digital I/O pins, eight analog inputs, six PWM outputs, and hardware support for UART, I2C, and SPI. This guide provides a complete Arduino Nano pinout, including GPIO functions, communication pins, power connections, and the ATmega328P port mapping.

You’ll also find the Arduino Nano schematic and circuit diagram later in this guide, which is useful when troubleshooting the board, tracing power connections, or designing hardware around the Nano.

The diagram below shows the Arduino Nano V3 pinout. The board uses the ATmega328P, so many of its pin functions are similar to the Arduino Uno. However, the Nano also exposes A6 and A7, giving it eight analog inputs instead of six.

Arduino Nano Pinout

 

Interactive Arduino Nano Pinout Diagram

Arduino Nano Pins for Common Projects

Most Arduino Nano pins can be used as general-purpose I/O, but some have dedicated functions that can interfere with programming, serial communication, timers, or onboard hardware. For a simple project, D2 through D9 are usually the easiest digital pins to work with.

For most beginner projects, the safest general-purpose pins are:

Use Case Recommended Pins Avoid / Be Careful
Digital input/output D2–D9 D0/D1 if using Serial
PWM output D3, D5, D6, D9, D10, D11
I2C modules A4 SDA, A5 SCL Needs pullups on many modules
SPI modules D10–D13 or ICSP header D13 also controls built-in LED
Analog sensors A0–A5 A6/A7 are analog-input only
External interrupts D2, D3 D2 has INT0, D3 has INT1

Arduino Nano Pinout Description

The Arduino Nano pins are divided into digital pins, analog pins, power pins, and communication pins. Like the Arduino Uno, the Nano uses the ATmega328P microcontroller, but it includes two extra analog input pins: A6 and A7. Several pins also have alternate functions such as PWM, UART, I2C, SPI, and external interrupts.

Digital Pins

Nano Pin ATmega328P Port Functions Notes
D0 PD0 RX, UART Used for serial upload/USB communication
D1 PD1 TX, UART Used for serial upload/USB communication
D2 PD2 INT0 External interrupt
D3 PD3 PWM, INT1 PWM pin
D4 PD4 Digital I/O General purpose
D5 PD5 PWM Timer0 PWM
D6 PD6 PWM Timer0 PWM
D7 PD7 Digital I/O General purpose
D8 PB0 Digital I/O General purpose
D9 PB1 PWM Timer1 PWM
D10 PB2 PWM, SS SPI chip select
D11 PB3 PWM, MOSI/COPI SPI data out
D12 PB4 MISO/CIPO SPI data in
D13 PB5 SCK, LED_BUILTIN On-board LED

Analog Pins

Nano Pin ATmega328P Port Functions Notes
A0 PC0 ADC0, Digital I/O Analog input or digital pin
A1 PC1 ADC1, Digital I/O Analog input or digital pin
A2 PC2 ADC2, Digital I/O Analog input or digital pin
A3 PC3 ADC3, Digital I/O Analog input or digital pin
A4 PC4 ADC4, SDA I2C data pin
A5 PC5 ADC5, SCL I2C clock pin
A6 ADC6 Analog input only Cannot be used as digital I/O
A7 ADC7 Analog input only Cannot be used as digital I/O

Power Pins

Pin Function Notes
VIN External input voltage Typically used with 7–12V input
5V Regulated 5V Can power 5V modules if current is within limits
3.3V 3.3V output Limited current output
GND Ground Common reference for circuits
RESET Reset pin Pull LOW to reset the board
AREF Analog reference Optional external reference for ADC

Also, notice that the ATMega pins for each Arduino pin are also provided in the pinout diagram above. For details on how to use these pins, see Arduino Port Manipulation.

Arduino Nano Digital Pins

Arduino Nano Digital Pins

The Arduino Nano provides 14 digital pins, D0 through D13, operating at 5 V logic. D2 through D13 can generally be used as ordinary digital inputs or outputs, while D0 and D1 are shared with the hardware UART used for serial communication and sketch uploads. If your project uses the Serial Monitor, it is usually better to leave D0 and D1 free.

Arduino Nano PWM Pins

Arduino Nano PWM pins

The Arduino Nano has six PWM-capable pins: D3, D5, D6, D9, D10, and D11. These are marked with a ~ symbol on most Nano boards. Arduino's analogWrite() function can generate PWM on these pins for tasks such as LED brightness control and DC motor speed control. PWM does not produce a true analog voltage; instead, it rapidly switches the output between HIGH and LOW.

Arduino Nano Analog Pins

Arduino Nano Analog Pins

The Nano exposes eight analog inputs, A0 through A7. A0 through A5 can also operate as digital GPIOs, while A6 and A7 are analog-input only. The ATmega328P uses a 10-bit ADC, so analogRead() normally returns values from 0 to 1023.

Arduino Nano Power Pins

Arduino Nano Power Pins

The Arduino Nano can be powered through the USB port, the VIN pin, or the 5V pin. For most projects, USB is the safest option during development. The VIN pin is used when supplying an external voltage, while the 5V and 3.3V pins can power small external modules if their current requirements are within the board’s limits.

Arduino Nano I2C Pins

Arduino Nano I2C Pins

The Arduino Nano uses A4 for SDA and A5 for SCL. These pins connect directly to the ATmega328P's hardware I2C/TWI peripheral. Typical I2C devices include RTC modules, EEPROMs, OLED displays, and environmental sensors. Many breakout boards already include I2C pull-up resistors, so check the module before adding another pair.

Arduino Nano SPI Pins

Arduino Nano SPI Pins

The hardware SPI interface uses D10 for SS, D11 for MOSI/COPI, D12 for MISO/CIPO, and D13 for SCK. The same SPI signals are also available through the six-pin ICSP header. D13 is additionally connected to the Nano's built-in LED, which can matter when that pin is used as a high-speed clock signal.

Arduino Nano UART Pins
Arduino Nano UART Pins

The Nano's hardware UART uses D0/RX and D1/TX. These pins are also for USB-to-serial communication on the classic Nano, so devices connected to them can interfere with sketch uploads or Serial Monitor communication.

Arduino Nano Schematic and Circuit Diagram

The Arduino Nano schematic shows how the board’s ATmega328P microcontroller connects to the USB interface, voltage regulator, reset circuit, LEDs, ICSP header, and external pins. It is especially useful when troubleshooting a Nano, tracing a damaged connection, or designing a circuit that connects directly to the board.

ATmega328P Microcontroller Circuit

At the center of the Arduino Nano schematic is the ATmega328P, the same 8-bit AVR microcontroller used on the classic Arduino Uno. It runs at 16 MHz and provides the Nano’s digital I/O, analog inputs, timers, PWM outputs, UART, SPI, and I2C interfaces.

The D0–D13 and A0–A7 pins on the Nano headers connect directly to ports on the ATmega328P. This is why the pinout table above also lists names such as PB3, PC4, and PD2. These are the AVR port names used with direct register access instead of Arduino functions such as digitalWrite().

The microcontroller uses a 16 MHz crystal oscillator, along with the associated capacitors, to provide its main system clock. The schematic also includes bypass capacitors close to the microcontroller supply pins to reduce noise on the 5 V rail.

USB-to-Serial Circuit

The classic Arduino Nano does not have native USB support in the ATmega328P. Instead, the official board uses an FT232RL USB-to-serial converter between the Mini-B USB connector and the ATmega328P UART pins.

When you upload a sketch or open the Arduino Serial Monitor, USB data is converted by the FT232RL into serial signals connected to D0/RX and D1/TX.

This also explains why connecting another device to D0 and D1 can sometimes cause upload or serial communication problems.

The FT232RL section also drives the RX and TX indicator LEDs, which flash when serial data moves between the computer and the Nano.

Clone note: Many inexpensive Nano-compatible boards use a CH340 or another USB-to-serial converter instead of the FT232RL. Their USB section therefore differs from the official Nano schematic even though the ATmega328P pinout is usually compatible.

Arduino Nano Power Supply Circuit

The Nano can receive power from either USB or the VIN pin. In the official design, VIN passes through an LM1117 5 V linear regulator, while USB already supplies approximately 5 V. Arduino specifies VIN as a 7–12 V input range.

A diode in the power-selection section prevents the USB supply and externally regulated supply from feeding directly into each other. The resulting +5V rail powers the ATmega328P and most of the board circuitry.

The Nano also provides a 3.3 V output. On the classic official Nano, this supply comes from the FT232RL’s internal 3.3 V regulator rather than from a separate high-current regulator. Arduino’s current datasheet shows this 3.3 V rail as part of the FT232RL power path.

This distinction is important when powering external hardware: the 3.3 V pin is for relatively small loads rather than high-current 3.3 V modules.

Reset and Auto-Reset Circuit

The Nano’s RESET pin connects to the ATmega328P reset input. Pulling RESET low restarts the microcontroller.

The schematic also includes an automatic reset circuit connected to the USB-to-serial interface. When the Arduino IDE begins an upload, the serial interface briefly drives the reset line through a capacitor. This causes the bootloader to run so that a new sketch transfers without manually pressing the reset button.

This is why a Nano normally resets automatically when you click Upload in the Arduino IDE.

ICSP Header

The six-pin ICSP header exposes the ATmega328P’s SPI programming signals:

ICSP Signal Nano Pin
MOSI / COPI D11
MISO / CIPO D12
SCK D13
RESET RESET
VCC 5V
GND GND

The header can connect to an external AVR programmer to write firmware or restore the bootloader. Because MOSI, MISO, and SCK are the same hardware SPI signals used by D11, D12, and D13, the ICSP connector can also be useful when interfacing hardware that expects the standard Arduino ICSP pin layout.

LED Circuits

The classic Nano contains several onboard LEDs visible in the schematic:

  • Power LED — indicates that the board is receiving power.
  • RX LED — flashes on serial data receive over USB.
  • TX LED — flashes on serial data transmit over USB.
  • Built-in LED — connected to D13/SCK.

The D13 LED is worth remembering when using that pin for SPI or other applications because the onboard LED circuit remains connected to the signal.

How the Schematic Relates to the Nano Pinout

The pinout diagram tells you what each external Nano pin does, while the schematic shows what that pin connects to inside the board.

For example:

  • A4 connects to the ATmega328P PC4/ADC4 pin and also serves as I2C SDA.
  • A5 connects to PC5/ADC5 and serves as I2C SCL.
  • D11–D13 connect to the AVR hardware SPI peripheral.
  • D0 and D1 connect both to the ATmega328P UART and the USB-to-serial converter.
  • VIN feeds the 5 V voltage regulator rather than connecting directly to the microcontroller.
  • 5V connects directly to the regulated 5 V rail.

Looking at both diagrams together is therefore useful when troubleshooting a pin or when you need to understand why a particular pin behaves differently from an ordinary GPIO.

Arduino Nano vs Arduino Uno Pinout

Because both boards use the ATmega328P, the Arduino Nano and Arduino Uno have nearly identical GPIO functions. A sketch written for the Uno will often work on a Nano without pin changes. The main pinout difference is that the Nano exposes two additional ADC inputs, A6 and A7.

Feature Arduino Nano Arduino Uno
Microcontroller ATmega328P ATmega328P
Digital I/O 14 14
PWM Pins 6 6
Analog Inputs 8 6
USB Connector Mini-B on classic Nano USB-B on classic Uno
Breadboard Friendly Yes No

Common Arduino Nano Pinout Mistakes

Using D0 and D1 for normal I/O

D0 and D1 connect to the hardware serial interface. If you connect sensors, relays, or modules to these pins, uploading sketches or using the Serial Monitor may fail.

Using A6 and A7 as digital pins

A6 and A7 are analog-input only. Use A0 to A5 if you need analog pins that can also work as digital I/O.

Forgetting that D13 is connected to the built-in LED

D13 is usable as a normal digital pin, but it also connects to the on-board LED.

Connecting I2C modules to the wrong pins

On the Arduino Nano, SDA is A4 and SCL is A5.

Supplying the wrong voltage to VIN or 5V

VIN and the 5V pin are not interchangeable. VIN feeds the board through its voltage regulator, while the 5V pin connects to the regulated 5 V rail. When powering the board externally, make sure you understand which input your supply should use before connecting it.

Arduino Nano Pinout Code Examples

Blink the Built-in LED on D13


void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  delay(500);
}

Read an Analog Sensor on A0


void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  delay(500);
}

Generate PWM Output on D9


void setup() {
  pinMode(9, OUTPUT);
}

void loop() {
  analogWrite(9, 128); // about 50% duty cycle
}

Arduino Nano Pinout FAQ

What are the PWM pins on Arduino Nano?

The PWM pins are D3, D5, D6, D9, D10, and D11.

What are the I2C pins on Arduino Nano?

A4 is SDA and A5 is SCL.

What are the SPI pins on Arduino Nano?

D10 is SS, D11 is MOSI/COPI, D12 is MISO/CIPO, and D13 is SCK. These signals are also available on the ICSP header.

Can A6 and A7 be used as digital pins?

No. A6 and A7 are analog-input only on the Arduino Nano.

What voltage does the Arduino Nano use?

The Nano uses 5V logic. VIN accepts 7–12V input according to the official Arduino pinout.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted