Arduino: Standard project pin-out usage [2009-03-13]

Overview

Default Arduino pin-out usage shared amongst modular examples to allow them to work together.

Profile: Prototype

Pin number

I/O

PWM

Description

Timer

Analog 0

In

Accelerometer X

Analog 1

In

Accelerometer Y

Analog 2

In

Accelerometer Z

Analog 3

In

Potentiometer 1

Analog 4

In

Potentiometer 2

Analog 5

In

Light Dependent Resistor

Digital 0

In

UART: Serial Receive

Digital 1

Out

UART: Serial Transmit

Digital 2

Out

LCD Clock signal (3-wire interface using MC14094 8-bit shift/latch)

Digital 3

Out

Yes

LED Red

Timer 2

Digital 4

Out

LCD Data signal (3-wire interface using MC14094 8-bit shift/latch

Digital 5

Out

Yes

LED Green

Timer 0

Digital 6

Out

Yes

LED Blue

Timer 0

Digital 7

Out

LCD Strobe signal (3-wire interface using MC14094 8-bit shift/latch

Digital 8

In

Control button for LCD menu / command

Digital 9

Out

Yes

Relay output 1 or Servo motor 1

Timer 1

Digital 10

Out

Yes

Relay output 2 or Servo motor 2

Timer 1

Digital 11

Out

Yes

Relay output 3 or Servo motor 3

Timer 2

Digital 12

In / Out

1-wire bus (temperature sensor) or CANBus

Digital 13

Out

Status LED

Profile: Simple LCD and sensor shield

Pin number

I/O

PWM

Description

Timer

Analog 0

In

Light Dependent Resistor

Analog 1

In

Potentiometer

Analog 2

In

Button 1

Analog 3

In

Button 2

Digital 0

In

UART: Serial Receive

Digital 1

Out

UART: Serial Transmit

Digital 2

Out

LCD Clock signal (3-wire interface using MC14094 8-bit shift/latch)

Digital 3

Out

Yes

LCD Data signal (3-wire interface using MC14094 8-bit shift/latch

Timer 2

Digital 4

Out

LCD Data signal (3-wire interface using MC14094 8-bit shift/latch

Digital 5

In / Out

Yes

1-wire bus (temperature sensor)

Timer 0

Digital 6

Out

Yes

Relay output 1

Timer 0

Digital 7

Out

Relay output 2

Design trade-offs

  • Save PWM outputs for those things that can really use PWM.
  • For cheap LCD display, use minimal 3-wire interface and only consume 3 Arduino pins, not 6 or more.
    • You can get a Serial LCD display, requiring only a single Arduino pin, but they are more expensive.
Comments (0)