[[File:GPIOs.gif|thumb|254px|right|the layout of the Rpi GPIO's, not colour coded to the table. [https://sites.google.com/site/burngatehouse/home/drawings/GPIOs.gif Source] ]]

+

−

The Rpi allows peripherals and expansion boards to access the CPU by exposing the in and outputs. The production board has a 26-pin 2.54mm (100mil)<ref>http://www.raspberrypi.org/forum/features-and-requests/easy-gpio-hardware-software/page-3/#p31907</ref> expansion header, arranged in a 2x13 strip. They provide 8 GPIO pins plus access to I2C, SPI, UART), as well as +3V3, +5V and GND supply lines. Pin one is column 0 on the bottom row. <ref>http://www.raspberrypi.org/archives/384</ref>

+

−

+

−

Voltage levels are 3v3. There is no over-voltage protection on the board - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board.

+

−

+

−

+

−

It is also possible to reconfigure some of the pins to provide a second I2C interface. [no-ref]

Maximum permitted current draw from the 5v pin is the USB input current (usually 1A) minus any current draw from the rest of the board.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1536#postid-21841</ref>

+

−

*Model A: 1000mA - 500mA -> max power draw: 500mA

+

−

*Model B: 1000mA - 700mA -> max power draw: 300mA

+

−

+

−

==General Purpose Input/Output (GPIO)==

+

−

+

−

General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software. For more information see:[http://en.wikipedia.org/wiki/GPIO the wikipedia article].

+

−

+

−

On the production board, all the UART, SPI and I2C pins can be reconfigured as GPIO pins, to provide a total of 17 GPIO pins.<ref>http://www.raspberrypi.org/archives/384</ref>

+

−

+

−

+

−

At least some of the GPIO pins support PWM.<ref>http://twitter.com/#!/Raspberry_Pi/status/140548306886602752</ref>

+

−

+

−

Each GPIO can interrupt, high/low/rise/fall/change.<ref>http://www.raspberrypi.org/archives/384#comment-5217</ref>

+

−

+

−

It is also possible to reconfigure some of the pins to provide an ARM JTAG interface.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1288.1</ref>

+

−

+

−

It is also possible to reconfigure some of the pins to provide an I2S or PCM interface.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1288.2</ref>

+

−

+

−

+

−

===Driver support===

+

−

+

−

The Foundation will not include a GPIO driver in the initial release, standard linux GPIO drivers should work with minimal modification.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1278.0</ref>

+

−

The Foundation will not include an SPI driver in the initial release, we hope the community might write one.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1278.0</ref>

+

−

The Foundation will not include an I2C driver in the initial release, we hope the community might provide one, standard linux I2C drivers should work with minimal modification.<ref>http://www.raspberrypi.org/forum?mingleforumaction=viewtopic&t=1202</ref>

On the production board, we bring out the DSI interface to pads for an unpopulated 15-way flat flex connector

+

−

==CEC==

+

−

+

−

[[CEC (Consumer Electronics Control) over HDMI|HDMI-CEC (Consumer Electronics Control for HDMI)]] is supported by hardware but some driver work will be needed and currently isn't exposed into Linux userland.

+

−

Eben notes that he has seen CEC demos on the Broadcom SoC they are using.

+

−

+

−

For more information about HDMI-CEC and what you could do with it on the Raspberry Pi please see the [[CEC (Consumer Electronics Control) over HDMI]] article.