This page has moved to the main Arduino website: Digital Pins.


(The following new table is proposed to be added to the official page above.)

Quick Reference

The Arduino board has silkscreen labels near each connector to indicate something about its specialized purpose. This may mislead some users into thinking that some pins cannot be used in other ways.

There are twenty digital I/O pins. They can all be used as traditional three-state digital interfaces. Many pins have additional capabilities, as indicated below.

  I/OPWM duty10bit ADCTWI / I2CHigh SpeedtriggersUSB / FTDIUSB / FTDIport (3)PCINT (4)PCMSK (5)
-Pin-AliaspinMode() digitalWrite() digitalRead()analog Write()analog Read()Wire .send()Spi .transfer()attach Interrupt()Serial .print()Serial .read()   
0RXYES------YESD16PCMSK2:0
1TXYES-----YES-D17PCMSK2:1
2IRQ0YES----YES *--D18PCMSK2:2
3IRQ1YESYES (2)---YES *--D19PCMSK2:3
4-YES-------D20PCMSK2:4
5-YESYES (0)------D21PCMSK2:5
6-YESYES (0)------D22PCMSK2:6
7-YES-------D23PCMSK2:7
8-YES-------B0PCMSK0:0
9-YESYES (1)-- ---B1PCMSK0:1
10SSYESYES (1)--YES **---B2PCMSK0:2
11MOSIYESYES (2)--YES **---B3PCMSK0:3
12MISOYES---YES **---B4PCMSK0:4
13SCKYES---YES **---B5PCMSK0:5
14A0YES-YES *-----C8PCMSK1:0
15A1YES-YES *-----C9PCMSK1:1
16A2YES-YES *-----C10PCMSK1:2
17A3YES-YES *-----C11PCMSK1:3
18A4YES-YES *YES **----C12PCMSK1:4
19A5YES-YES *YES **----C13PCMSK1:5

* The function expects the pin numbering scheme in the Alias column.

(0) Any PWM output is driven on Timer 0's frequency. The duty cycle is independent of other PWM outputs.

(1) Any PWM output is driven on Timer 1's frequency. The duty cycle is independent of other PWM outputs.

(2) Any PWM output is driven on Timer 2's frequency. The duty cycle is independent of other PWM outputs.

(3) IO port of the ATMEGA chip (B, C or D).

(4) Pin Change Interrupt number.

(5) Pin Change Interrupt mask and bit.

** Multiple pins must be used in conjunction for the specialized feature to work.

Share