Arduino Nano pinout
A small, breadboard-friendly Arduino with the same chip as the Uno. It uses 5 V logic, so 3.3 V-only sensors need a level shifter.
At a glance
- Chip
- ATmega328P
- Processor
- 8-bit AVR ATmega328P at 16 MHz, 2 KB SRAM, 32 KB flash, 1 KB EEPROM
- Logic level
- 5 V. 3.3 V-only sensors need a level shifter.
- Flashing tool
- avrdude
- Arduino board (FQBN)
- arduino:avr:nano
- Live pin view in BoardPilot
- Yes (diagnostic agent available)
Pins to avoid or use with care
Input only: A6 (ADC6), A7 (ADC7)
Cannot drive outputs, and have no internal pull-up.
USB serial: RX0 (PD0), TX1 (PD1)
Used for uploading and the serial monitor. Anything connected here can break uploads.
Good pins for LEDs, buttons and signals
D2, D3, D4, D5, D6, D7, D8, D9
Default pins in Arduino
- I2C
- SDA = A4, SCL = A5. Only these pins work with the Wire library defaults. I2C only works on A4 (SDA) and A5 (SCL).
- SPI
- MOSI = D11, MISO = D12, SCK = D13, CS = D10.
- Analog inputs
- A0, A1, A2, A3, A6, A7, A4, A5 (0–5 V)
How to flash it
Clones with the old bootloader upload at 57600 baud: choose “ATmega328P (Old Bootloader)” if uploads fail.
All 30 pins
| Pin | GPIO | Chip pin | Functions | Notes |
|---|---|---|---|---|
| D12 | 12 | PB4 | GPIO, SPI_MISO (default) | |
| D11 | 11 | PB3 | GPIO, PWM, SPI_MOSI (default) | |
| D10 | 10 | PB2 | GPIO, PWM, SPI_CS (default) | SPI chip select. Keep it an OUTPUT when using SPI, or SPI can stop working. |
| D9 | 9 | PB1 | GPIO, PWM | |
| D8 | 8 | PB0 | GPIO | |
| D7 | 7 | PD7 | GPIO | |
| D6 | 6 | PD6 | GPIO, PWM | |
| D5 | 5 | PD5 | GPIO, PWM | |
| D4 | 4 | PD4 | GPIO | |
| D3 | 3 | PD3 | GPIO, INT1, PWM | |
| D2 | 2 | PD2 | GPIO, INT0 | |
| GND | — | |||
| RST | — | RESET | Reset input. Pull it LOW (or press the button) to restart the board. | |
| RX0 | 0 | PD0 | GPIO, UART0_RX | Serial RX. Shared with the USB link: using it for parts can break uploads and the serial monitor. |
| TX1 | 1 | PD1 | GPIO, UART0_TX | Serial TX. Shared with the USB link: using it for parts can break uploads and the serial monitor. |
| D13 | 13 | PB5 | GPIO, SPI_SCK (default) | The built-in LED "L" is on this pin (also SPI clock). |
| 3V3 | — | 3.3 V from the USB chip (FT232RL, 50 mA max; often less on clones). Weak: fine for one small sensor only. | ||
| REF | — | ADC_REF | Analog reference input. Leave it unconnected unless your code calls analogReference(EXTERNAL); never power parts from it. | |
| A0 | 14 | PC0 | GPIO, ADC0 | |
| A1 | 15 | PC1 | GPIO, ADC1 | |
| A2 | 16 | PC2 | GPIO, ADC2 | |
| A3 | 17 | PC3 | GPIO, ADC3 | |
| A4 | 18 | PC4 | GPIO, ADC4, I2C_SDA (default) | Default I2C SDA (same signal as the SDA pin). |
| A5 | 19 | PC5 | GPIO, ADC5, I2C_SCL (default) | Default I2C SCL (same signal as the SCL pin). |
| A6 | 20 | ADC6 | ADC6 | Analog input only: no digitalWrite, no digitalRead and no internal pull-up. |
| A7 | 21 | ADC7 | ADC7 | Analog input only: no digitalWrite, no digitalRead and no internal pull-up. |
| 5V | — | 5 V output from USB or the on-board regulator. | ||
| RST | — | RESET | Reset input. Pull it LOW (or press the button) to restart the board. | |
| GND | — | |||
| VIN | — | Power input (7-12 V recommended) from the barrel jack or an external supply. It is not fed from USB, so do not use it to power parts. |
Check your wiring with BoardPilot
BoardPilot shows this board in 3D, flags risky pins as you wire, and flashes it safely with a backup first.
Download BoardPilotSources
- Arduino Nano 3.0 Eagle design files, Board outline, J1/J2 header pads and nets (3V3 from FT232RL pin 17 3V3OUT)
- Arduino Nano datasheet (A000005), 5 Connector Pinouts; 6 Mechanical Information (43.2 x 18 mm, rows 15.24 mm apart)
- arduino/ArduinoCore-avr variants/eightanaloginputs/pins_arduino.h, A6 = 20, A7 = 21
- FTDI FT232R datasheet, 3V3OUT pin: 3.3 V LDO output, up to 50 mA
- Microchip ATmega328P datasheet (DS40002061), 1 Pin Configurations; 14.3 Alternate Port Functions; 24 Analog-to-Digital Converter
- arduino/ArduinoCore-avr variants/standard/pins_arduino.h, Arduino pin numbers, SPI/I2C defaults, LED_BUILTIN, A0=14
- arduino/ArduinoCore-avr boards.txt, USB VID/PID, upload protocol and speed
- Board data file and source notes on GitHub