This page is also available in 3 other languages


[Digital I/O]


Configures the specified pin to behave either as an input or an output. See the description of (digital pins) for details on the functionality of the pins.

As of Arduino 1.0.1, it is possible to enable the internal pullup resistors with the mode INPUT_PULLUP. Additionally, the INPUT mode explicitly disables the internal pullups.


pinMode(pin, mode)


pin: the number of the pin whose mode you wish to set

mode: INPUT, OUTPUT, or INPUT_PULLUP. (see the (digital pins) page for a more complete description of the functionality.)



Example Code

The code makes the digital pin 13 OUTPUT and Togles it HIGH and LOW

void setup()
  pinMode(13, OUTPUT);          // sets the digital pin 13 as output

void loop()
  digitalWrite(13, HIGH);       // sets the digital pin 13 on
  delay(1000);                  // waits for a second
  digitalWrite(13, LOW);        // sets the digital pin 13 off
  delay(1000);                  // waits for a second

Notes and Warnings

The analog input pins can be used as digital pins, referred to as A0, A1, etc.