Aziz Bench

Arduino Nano pinout

The Nano puts the ATmega328P of the UNO on a board that fits a breadboard, with two extra analog inputs. Tap a pin to see its functions, or list the pins of your project: the planner checks PWM, interrupts and the fixed bus pins.

Arduino Nano · 30 pins
  • Free to use
  • Use with care
  • Input only
  • Power and control
Add pin

My pin plan

    No pins yet. Pick a pin on the map, or add one with the form.

    Ready to paste at the top of a sketch or in an issue.

    Fixed pins for every bus

    The ATmega328P has no pin matrix: each peripheral sits on specific pins. I²C is on A4 (SDA) and A5 (SCL), SPI on D10 (SS), D11 (MOSI), D12 (MISO) and D13 (SCK), and the hardware serial port on D0 (RX) and D1 (TX), shared with the USB chip. attachInterrupt() works only on D2 and D3; the other pins need pin-change interrupts.

    PWM is on D3, D5, D6, D9, D10 and D11, marked with ~. Pins 5 and 6 run at about 980 Hz (976.6 Hz), the others at 490 Hz. The Servo library takes over the timer of pins 9 and 10, and tone() the one of pins 3 and 11, so PWM on those pins stops while they are in use.

    A6 and A7: analog only

    The Nano adds A6 and A7, which the UNO doesn’t have. They connect only to the ADC: digitalRead(), digitalWrite() and INPUT_PULLUP don’t work on them. A0 to A5 work both as analog inputs and as digital pins 14 to 19.

    Current and power

    The ATmega328P is specified at 20 mA per pin; 40 mA is its absolute maximum, and the whole chip must stay under 200 mA through its supply pins. Pins also share limits by group: at most 150 mA sourced by D0–D4 and A0–A5 together and 150 mA by D5–D13, and at most 100 mA sunk by each of A0–A5, D0–D4 and D5–D13. Use a transistor for relays, motors and LED strips. On the original Nano the 3V3 pin comes from the USB-serial chip, so it works only with USB connected and is meant for small loads; clones may differ.

    Full Arduino Nano pin table

    PinPortStatusAnalogFunctionsNotes
    D0PD0Use with careNoRXDUSB serial, UART RX
    D1PD1Use with careNoTXDUSB serial, UART TX
    D2PD2Free to useNoINT0No restrictions
    D3PD3Free to useNoPWM, INT1, OC2Btone() timer
    D4PD4Free to useNoNoNo restrictions
    D5PD5Free to useNoPWM, OC0BPWM at about 980 Hz
    D6PD6Free to useNoPWM, OC0APWM at about 980 Hz
    D7PD7Free to useNoNoNo restrictions
    D8PB0Free to useNoNoNo restrictions
    D9PB1Free to useNoPWM, OC1AServo timer
    D10PB2Free to useNoPWM, OC1B, SSServo timer, SPI CS
    D11PB3Free to useNoPWM, OC2A, MOSItone() timer, SPI MOSI (TX)
    D12PB4Free to useNoMISOSPI MISO (RX)
    D13PB5Free to useNoSCKLED, SPI SCK
    A0PC0Free to useADC0NoNo restrictions
    A1PC1Free to useADC1NoNo restrictions
    A2PC2Free to useADC2NoNo restrictions
    A3PC3Free to useADC3NoNo restrictions
    A4PC4Free to useADC4SDAI²C SDA
    A5PC5Free to useADC5SCLI²C SCL
    A6ADC6Input onlyADC6Noanalog only
    A7ADC7Input onlyADC7Noanalog only

    Physical pins: 1 is TX (D1), 15 is D12, 16 is D13 and 30 is VIN. VIN accepts 6 to 20 V, 7 to 12 V recommended; 5V is the regulated rail.

    Frequently asked questions

    Can I use A6 and A7 as digital pins on the Nano?

    No. A6 and A7 connect only to the ADC of the ATmega328P, so they have no digital input, output or pull-up. To read a button on them, use analogRead() and an external resistor.

    Which Arduino Nano pins support PWM?

    D3, D5, D6, D9, D10 and D11. D5 and D6 run at about 980 Hz (976.6 Hz), the others at 490 Hz.

    Which pins are I2C and SPI on the Nano?

    I²C uses A4 (SDA) and A5 (SCL). SPI uses D11 (MOSI), D12 (MISO) and D13 (SCK), with D10 as SS. These pins are fixed in hardware.

    How much current can an Arduino Nano pin supply?

    The ATmega328P is specified at 20 mA per pin, with 40 mA as the absolute maximum and 200 mA in total through its supply pins. Pins also share limits by group: at most 150 mA sourced by D0–D4 and A0–A5 together and 150 mA by D5–D13, and at most 100 mA sunk by each of A0–A5, D0–D4 and D5–D13. Drive anything bigger than an LED through a transistor or a MOSFET.

    Which Nano pins can trigger interrupts?

    attachInterrupt() works on D2 and D3. Every other pin can raise a pin-change interrupt, through the PCINT registers or a library.