Aziz Bench

Arduino UNO R3 pinout

Every pin of the UNO R3 headers, with what the ATmega328P can do on each one. 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 UNO R3 · 32 pins
  • Free to use
  • Use with care
  • 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, so each peripheral has its own pins. I²C is on A4 (SDA) and A5 (SCL), repeated on the SDA and SCL pins next to AREF. SPI is on D10 to D13 and on the ICSP header, and the serial port on D0 and D1, shared with the USB chip. attachInterrupt() works only on D2 and D3.

    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.

    Power header

    VIN takes 6 to 20 V, 7 to 12 V recommended, for the onboard regulator; 5V is the regulated rail and 3V3 comes from a separate regulator rated for 50 mA. IOREF tells shields the logic voltage, 5 V on the UNO, and the first pin of the header is not connected.

    Current limits

    Arduino rates each I/O pin at 20 mA. The absolute maximum of the ATmega328P is 40 mA, 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 anything heavier than a few LEDs.

    Full UNO R3 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 (buffered), 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

    Pins as numbered in the UNO R3 datasheet: J-ANALOG 1 to 14 is the power and analog header, J-DIGITAL 1 to 18 the digital header from D0 to SCL. The UNO R4 boards use another chip and are not covered here.

    Frequently asked questions

    Which Arduino UNO pins support PWM?

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

    Where are the I2C pins on the Arduino UNO?

    A4 is SDA and A5 is SCL. The UNO R3 repeats them on the two pins next to AREF, so shields can use either.

    How much current can the UNO 3.3 V pin supply?

    50 mA, according to Arduino’s specifications. For more, use a separate 3.3 V regulator powered from 5V or VIN.

    How much current can a UNO pin drive?

    20 mA per pin as Arduino specifies, with 40 mA as the absolute maximum of the ATmega328P and 200 mA in total. 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 motors, relays and LED strips through a transistor or a MOSFET.

    Does this pinout apply to the UNO R4?

    Only the header layout. The UNO R4 Minima and WiFi use a Renesas RA4M1, with different peripherals and electrical limits, so check their own documentation.