Skip to content
My Account

Guide

Arduino Nano Pinout

The complete pin reference for the classic ATmega328P-based Arduino Nano: 14 digital pins, 8 analog inputs, and the exact pins you can safely reuse.

4 min read

No ratings yet, be the first.

Overview

This guide covers the classic Arduino Nano: a breadboard-friendly board built around the ATmega328P, the same chip as the Arduino Uno, just on a smaller DIP-style footprint. No Wi-Fi, no Bluetooth, this is a plain 5V AVR board, which is exactly why it’s still a common choice for simple, no-nonsense projects.

Six PWM pins D3, D5, D6, D9, D10 and D11 support analogWrite(), the rest are digital-only.
A6 and A7 are analog-only Unlike A0–A5, these two can’t be used as digital I/O, analog input only.
Two hardware interrupts D2 (INT0) and D3 (INT1) can trigger an interrupt without polling.

Getting started

The Nano ships with three different USB connectors depending on the revision and clone: original Mini-USB, most common Micro-USB, or newer USB-C boards. Check which one your board actually has before assuming you’re missing a cable.

1. What you need A USB cable matching your board’s connector (Mini-USB, Micro-USB or USB-C) and a computer.
2. Install the software Install the free Arduino IDE, the Nano’s AVR support is built in already, no extra board package needed.
3. Upload your first sketch Select Tools → Board → Arduino Nano, pick the port, then Upload. If it fails with a sync error, try switching Processor to “ATmega328P (Old Bootloader)”, a common clone-board quirk.

Hello World: blink an LED

The microcontroller equivalent of “Hello World”: the onboard “L” LED on D13 toggles once a second. No wiring needed, this LED is already built into the board. There’s no ESP-IDF equivalent here, the Nano only speaks Arduino’s AVR toolchain.

#define LED_PIN 13 // onboard "L" LED
void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(1000);
  digitalWrite(LED_PIN, LOW);
  delay(1000);
}

Select Tools → Board → Arduino Nano first, see “Getting started” above.

Specifications

Official specifications for the ATmega328P-based Arduino Nano.

Compute

ChipATmega328P
CPU8-bit AVR, 16 MHz
SRAM2 KB
Flash32 KB (0.5 KB used by the bootloader)
EEPROM1 KB

Power

Logic level5V
Recommended input (VIN)7V – 12V
Max current per pin40 mA (20 mA recommended)
Max current, all pins200 mA

Physical

Digital I/O pins14 (6 with PWM)
Analog input pins8 (A6/A7 input-only)
Dimensions45 × 18 mm
Arduino Nano dimensioned top view: 45.0 by 18.0 mm, 30 header pins at 2.54 mm pitch with 15.24 mm between the rows, ATmega328P and the USB connector
45.0 × 18.0 mm, 30 header pins at 2.54 mm pitch, 15.24 mm between the two rows. The USB connector type (Mini-USB, Micro-USB or USB-C) depends on the board revision.

Pinout diagram

Every pin on the Arduino Nano, including the underlying ATmega328P port names (PB/PC/PD) alongside the Arduino digital/analog numbering.

Arduino Nano pinout diagram

GPIO quick reference

A4/A5 are the default I2C pins, D11–D13 the default SPI pins, both shared with the analog/digital pins listed below.

Pin AVR port Special function PWM Notes
D0 PD0 UART RXD No Free
D1 PD1 UART TXD No Free
D2 PD2 External interrupt 0 (INT0) No Free
D3 PD3 External interrupt 1 (INT1) Yes Free
D4 PD4 No Free
D5 PD5 Yes Free
D6 PD6 Yes Free
D7 PD7 No Free
D8 PB0 Input capture (ICP1) No Free
D9 PB1 Yes Free
D10 PB2 SPI SS Yes Free
D11 PB3 SPI MOSI Yes Free
D12 PB4 SPI MISO No Free
D13 PB5 SPI SCK, onboard “L” LED No Free
A0 PC0 Analog input (ADC0) No Free
A1 PC1 Analog input (ADC1) No Free
A2 PC2 Analog input (ADC2) No Free
A3 PC3 Analog input (ADC3) No Free
A4 PC4 Analog input (ADC4), I2C SDA No Free
A5 PC5 Analog input (ADC5), I2C SCL No Free
A6 Analog input only (ADC6), no digital use No Input only
A7 Analog input only (ADC7), no digital use No Input only
Default I2C SDA: A4, SCL: A5
Default SPI MOSI: D11, MISO: D12, SCK: D13, SS: D10
Default UART TX: D1, RX: D0
PWM-capable D3, D5, D6, D9, D10, D11

Programming (USB)

Unlike the ESP32 boards in these guides, the Nano has no manual boot-mode pin to hold. An onboard USB-to-serial chip toggles RESET automatically (via the DTR line) when you click Upload, that’s also why D0/D1 briefly glitch at power-up, they’re shared with that same USB-serial link.

Function Pin Description
TXDD1Nano → PC (output)
RXDD0PC → Nano (input)
RESETRSTToggled automatically by the USB-serial chip on upload

Safety notes

Before you wire anything up

  • This is a 5V board, not 3.3V tolerant, don’t connect a 3.3V-only sensor’s output directly without a level shifter.
  • Don’t exceed 40mA per pin (20mA recommended) or 200mA total across all pins combined.
  • A6 and A7 are analog input only, they can’t be used as digital I/O like the other analog pins.
  • D0 and D1 are shared with the USB-serial link, avoid using them for anything else while the board stays connected to USB.
Advertisement
All guides

More guides

Keep building.

From ESP32 HomeKit accessories to Arduino and ATtiny reference guides, there’s more where this came from.

All guides